FANDOM


En esta sección se explica qué son las variables globales y como usarlas. Editar

Un descripcion basica de una variable global es aquella que, una vez declarada, pertenece a ningun caso en particular, y sin embargo, se puede acceder por todos lados. Al igual que las variables locales, las variables globales deben ser declaradas, pero a diferencia de una variable local, esta se mantiene en la memoria hasta el final del juego. Asi, puede crear una variable global y no perderla de vista (por ejemplo) el numero de balas que el jugador tiene y esta no pertenece a ningun instancia en especifica y se puede acceder a esta en cualquier momento, pero cualquier cambio realizado en una variable "global" se vera afectado en todas las instancias por el cambio. Vamos a echar un vistazo a un ejemplo:

0 | globalvar comida;
1 | comida=5;

Asi, hemos creado una variable llamada "comida", y la hemos declarado como global. Ahora, cualquier instancia puede usar y cambiar esta variable en cualquier modo alguno y todas las demas instancias "vera" esto. Por ejemplo, podemos tener un objeto de alimentos en el que en caso de colision con el jugador, tendriamos:

0 | comida+=1;

Tambien tenemos otro objeto que señala este valor asi:

0 | draw_text(32,32,"comida="+string(comida));

En las variables globales podemos cambiar sus valores y ver los cambios reflejados en todas las intancia de los objetos que hacen referencia a esta variable. Al igual que con las variables locales que tienes que tener cuidado de no nombrar a sus variables globales lo mismo que cualquier variable de instancia ya que esto causaria problemas y se meterian bichos en sus juegos! De hecho, podemos llamar variables globales en otra forma de ayudar con este problema, y que es mediante al uso de la palabra "global" y un "." antes de la variable. El siguiente ejemplo ilustra este y es exactamente el mismo que el dado anteriormente:

0 | global.comida=5;

Con este metodo, ahora vamor a tener que utilizar "global" cada vez que se desea utilizar la variable de este modo:

0 | global.comida+=1;
1 | draw_text(32,32,"comida ="+string(global.comida));

Gamemaker: Estudio cuenta con una coleccion de "construccion en" variables globales tambien, asi que usted debe ser consciente de ello, ya que puede nombrar a una de sus variables de instancia del mismo o desea tener su propia variable global con el mismo nombre y se preguntan poque estan recibiendo errores! Son faciles de detectar, sin embargo, a medida que se muestran en un color diferente en el editor de codigo y tambien vienen en la barra autocompletado en la parte inferior. La mayoria de los construidor en las variables globales son muy especificas y solo seran utilizadas en raras ocasiones, pero hay tres en particular que es muy util y se puede encontrar mas informacion sobre ellos en las paginas siguiente:

- score (puntuacion)

- health (salud)

- lives (vidas)