FANDOM


Una variable local es aquella que declaramos en primer lugar con var. Editar

Una variable local es aquella que creamos para un evento especifico solamente y luego la descartamos cuando el evento haya terminado (la unica excepcion es en los recursos de script, en donde un var declara una variable en local para el guion y luego se descarta cuando termina). ¿Por que ibamos a necesitarlo? Bueno, las variables ocupan un espacio en la memoria y puede ser que solo vamos a usarlos durante un periodo de tiempo. Esto mantiene su base de codigo limpio y ordenado asi como mantener el espacio de memoria optimizado para las cosas que realmente necesitan.

Para declarar una variable local utilizaremos la funcion var como esto:

0 | var i, num, str;
1 | i=0
2 | num=24,5;
3 | str="¡hola";

Todas las variables creadas anteriormente se olvidan (es decir: se eliminan de la memoria) al final del evento (o codigo) en que fueron creados. Usted debe tener cuidado de que el nombre que le asigna a las variable var declarado no coincida con otra variable de instancia dentro del objeto que ejecute el codigo, y tambien asegurarse de que usted no tiene intencion de utilizar el valor almacenado en la variable fuera del evento declarado. Estas variables se utilizan mucho en los programas, sobre todo en los bucles para el recuento de iteraciones, o cuando se utiliza un valor varias veces en una operacion que no se va a repetir de nuevo. Aqui un par de ejemplo:

0 | var i=0;
1 | repeat(10)
2 | {
3 | inventario[i]=0;
4 | i++
5 | }

El codigo anterior crea una variable local llamada "i" , y lo establece en 0 , todos en la misma linea. Tenga en cuenta que en las versiones anterioriores de Gamemaker habia que declarar las variables locales primero y luego asignarles valores, pero en esta version se pueden declarar y asignar un valor a la vez. El codigo anterior utiliza esta variable para inicializar una matriz. Como la variable "i" no va a ser utilizado para las funciones adicionales de la instancia puede ser de ambito local. Aqui hay un ejemplo mas:

0 | var xx, yy;
1 | xx= x-32+irandom(64);
2 | yy= y-32+irandom(64);
3 | instance_create(xx,yy,oSangre);

Aqui hemos utilizado las variables locales para almacenar unas cordenadas aleatorias que luego utilizamos para crear una instancia. En este ejemplo se puede ver que no es estrictamente necesario que utilicemos estas variable pero en facilita la legibilidad y es muy facil de usar . Es mucho mas claro y evidente que lo que estamos haciendo alli que lo que estamos usando alli es este codigo:

0 | instance_create(x-32+irandom(64),y-32+irandom(64),oSangre);

Otra cosa que deben tener en cuenta cuando una variable es declarada por var ... A medida que son unicos para el caso de que los ejecuta, pueden ser utilizados en cualquier otra instancia mediante codigo tambien! Esto significa que podemos utilizar estas variables para configurar y cambiar cosas que en otros casos el uso de la "with()" construir (hay una seccion al respecto de esto en el Generalidades de GML seccion del manual). El propio codigo real seria algo como esto:

0 | var num = instance_number(oEnemigo);
1 | with(oEnemigo)
2 | {
3 | if num>10 instance_destroy()
4 | }

El codigo anterior funciona porque var declaro la variable en local para el evento (o código) en el cual esta contenido en el , no la instancia , ni el mundo del juego , y por lo tanto se puede utilizar en cualquier funciones en cualquier objeto , siempre y cuando esta en el mismo pedazo de código.