Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Ccaarlos en Febrero 10, 2013, 11:42:25 AM

Título: Como conectar las variables en varias habitaciones
Publicado por: Ccaarlos en Febrero 10, 2013, 11:42:25 AM
Hola a todos. Me acabo de registrar en este foro y mi primera pregunta es una duda que la tengo desde hace mucho tiempo.
Resulta que estoy haciendo un arkanoid y me gustaría que si uno gana se vaya a otra habitación (esto sé hacerlo) pero el problema es que lo que no sé hacer es que cuando empiece el primer nivel (hay varios modos de juego) se establezca una variable con valor 0 (que yo he llamado pgbarra - partidas ganadas barra) y que si gana, es decir que si no hay más ladrillos, al irse a otro nivel esa variable se sume uno. El problema es que esa variable siempre que empieza una habitación aparecer como cero (eso si uso el evento create o el room start).
Si uso el evento game start lo que pasa es que me aparece un mensaje diciéndome que no existe la variable.
No puedo usar la variable score porque hay varias variables como esa de forma que tengo que establecer variables nuevas y no puedo usar score.
Si alguien me puede decir cómo hacer que si se suma un punto a una variable, en las otras habitaciones el valor de la variable no vuelva a cero estaría muy agradecido.
Adiós,  :-[
Título: Re:Como conectar las variables en varias habitaciones
Publicado por: elviskelley en Febrero 10, 2013, 11:57:46 AM
debes declarar la variable como global en un object en el primer room del juego.
Las global, una vez declaradas puedes usarlas desde cualquier object y en cualquier room y mantedran su valor hasta que reinicies el juego. Se declara asi.
Event create (del primer object en el primer room)
global.pgbarra=0;

Claro par ausarla sumarle restarle lo que sea se hace asi:
global.pgbarra+=1; siempre colocando el global.
Título: Re:Como conectar las variables en varias habitaciones
Publicado por: pucara en Febrero 10, 2013, 10:24:59 PM
Hola Amigo, bienvenido a la comunidad.
1º consejo: los nombres de recursos siempre claros, no te cortes en aclarar lo que te haga falta en ellos.
2º, Para evitar problemas con variables como el que comentas, lo mejor es crear una room ("room_load" por ejemplo) donde en el código de la misma declaras todas las variables y cargas todos los recursos que necesites, siendo en el resto de rooms/objetos donde modifiques las mismas.

Saludos  8)
Título: Re:Como conectar las variables en varias habitaciones
Publicado por: Ccaarlos en Febrero 12, 2013, 07:40:37 PM
Tengo un problema. He puesto en el primer nivel de mi juego (no la primera habitación) establecer la variable global.pgbarra = 0 y global.pgnave = 0, lo que pasa es que cuando gana la nave o la barra y según el caso es global.pgbarra o global.pgnave + 1 pasan varias cosas: si lo hago tal cual, pasa al siguiente nivel y no cambia la variable y si le pongo persistent, pasa al siguiente nivel, pero al dibujar la variable me dibuja un 1 encima de un 0, en el mismo sitio. Lo de establecer la variable lo pongo en un evento create.
Me gustaría que me dijeran por qué pasa esto.
Y recordad que no sé GML.
Título: Re:Como conectar las variables en varias habitaciones
Publicado por: Creador de juegos GM en Febrero 14, 2013, 07:20:20 PM
Cita de: Ccaarlos en Febrero 12, 2013, 07:40:37 PM
Tengo un problema. He puesto en el primer nivel de mi juego (no la primera habitación) establecer la variable global.pgbarra = 0 y global.pgnave = 0, lo que pasa es que cuando gana la nave o la barra y según el caso es global.pgbarra o global.pgnave + 1 pasan varias cosas: si lo hago tal cual, pasa al siguiente nivel y no cambia la variable y si le pongo persistent, pasa al siguiente nivel, pero al dibujar la variable me dibuja un 1 encima de un 0, en el mismo sitio. Lo de establecer la variable lo pongo en un evento create.
Me gustaría que me dijeran por qué pasa esto.
Y recordad que no sé GML.
no sabes GML.... es medio dificil contestar a la pregunta sin gml.
Título: Re:Como conectar las variables en varias habitaciones
Publicado por: elviskelley en Febrero 15, 2013, 10:37:43 AM
A ver declaraste las variables global.pgnave  y global.pgnave. En el create de un object en el primer room, y dicho object no lo usas mas?? osea yo creo un object siempre que llamo: objControlGlobal. En dicho object lo coloco en el primer room del juego y solo en ese room, y ahi en su event create del objControlGlobal, estan declaradas todas las variables global. ingluyendo los arrays global.array[indice] osea siempre va en el primer room en su event create, pero dicho object no se repite de nuevo en el game play.