Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Mataca en Noviembre 11, 2014, 09:35:08 PM

Título: comando global[solucionado]
Publicado por: Mataca en Noviembre 11, 2014, 09:35:08 PM
Hola. Tengo un problema con el comando global.level
Hice un objeto que contiene:
global.nivel01 = 0 //0 = desbloqueado - 1 = bloqueado
global.nivel02 = 1
global.nivel03 = 1


En la pantalla de seleccion de nivel tengo:
if global.nivel01 = 0 instance_create (200,300,obj_level01)
if global.nivel02 = 0 instance_create (288,416,obj_level02)


El problema es que cuando entro de una al seleccionar nivel (en ese momento el global.nivel02 esta en 1) me salta error y se me cierra el juego. Si pongo playgame, paso el nivel uno (eso hace que el global.level02 quede en 0 [desbloqueado]) y despues voy a select level me anda lo más bien...

(http://puu.sh/cMOpG/d48cd68f00.png)

Alguien sabe la solucion?
Título: Re:comando global
Publicado por: venus en Noviembre 11, 2014, 09:51:24 PM
donde el if, en vez de un = pon 2.
Título: Re:comando global
Publicado por: penumbra en Noviembre 11, 2014, 09:55:14 PM
Para usar global.nivel01 y global.nivel02 en un if, gm debe conocer cuál es el valor de esas variables.

El error push indica que estás intentand usar una variable ANTES de haberle dado un valor (haberla declarado de manera correcta). la solución consiste en invertir el orden:  Primero hay que establecer un valor para  global.nivel02 y DESPUÉS hacer la comprobación
Título: Re:comando global
Publicado por: venus en Noviembre 11, 2014, 09:58:03 PM
Pero en el primer código ya lo tiene definido.
Título: Re:comando global
Publicado por: penumbra en Noviembre 11, 2014, 10:00:14 PM
Cita de: venus en Noviembre 11, 2014, 09:58:03 PM
Pero en el primer código ya lo tiene definido.
No.

En el primer bloque de código tiene global.level02 y en el segundo global.nivel2. Son dos variables distintas. Si la variable global.nivel2estuviera definida correctamente, no habría un error push
Título: Re:comando global
Publicado por: Mataca en Noviembre 12, 2014, 08:16:29 PM
Cita de: penumbra en Noviembre 11, 2014, 10:00:14 PM
Cita de: venus en Noviembre 11, 2014, 09:58:03 PM
Pero en el primer código ya lo tiene definido.
No.

En el primer bloque de código tiene global.level02 y en el segundo global.nivel2. Son dos variables distintas. Si la variable global.nivel2estuviera definida correctamente, no habría un error push

Lo habia puesto mal en el post nomas...
(http://puu.sh/cO2jB/6c2e056855.png)
Título: Re:comando global
Publicado por: venus en Noviembre 12, 2014, 08:31:51 PM
Yo ya te he dicho que pongas ==

if (global.nivel01 == 0) instance_create (200,300,obj_level01)
if (global.nivel02 == 0) instance_create (288,416,obj_level02)
Título: Re:comando global
Publicado por: Mataca en Noviembre 12, 2014, 10:41:28 PM
Cita de: venus en Noviembre 12, 2014, 08:31:51 PM
Yo ya te he dicho que pongas ==

if (global.nivel01 == 0) instance_create (200,300,obj_level01)
if (global.nivel02 == 0) instance_create (288,416,obj_level02)

Listo problema solucionado. Muchas gracias