Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: zido45 en Agosto 27, 2014, 01:10:17 PM

Título: Diferenciar instancia al hacer click.
Publicado por: zido45 en Agosto 27, 2014, 01:10:17 PM
Hola buenas, acabo de empezar con GM y tengo alguna duda:

Tengo en un objeto una variable global declarada (como no sabia bien donde hacerlo lo hice en el evento create.) y una accion de crear una instancia aleatoria. Por otro lado tengo otro objeto que quiero que distinga si el objeto que se crea anteriormente es el objeto A o B al hacer click, y esta es la parte que nose como hacer, pongo un ejemplo abajo.


Creo objeto aleatorio al inciar (se instancia el objeto A).
Pincho en el objeto botón. (Quiero que me salga un mensaje con el nombre de objeto instanciado anteriormente)

Gracias
Título: Re:Diferenciar instancia al hacer click.
Publicado por: andzheyevskiy en Agosto 27, 2014, 05:34:59 PM
No necesitas diferenciar el objeto clicado, mas bien no tiene sentido. Lo que deberías hacer es que al pulsar el botón izquierdo en el objeto salga el mensaje.
Título: Re:Diferenciar instancia al hacer click.
Publicado por: zido45 en Agosto 27, 2014, 06:01:47 PM
gracias por responder, quizas no me explique bien, no necesito saber el objeto que recibio el click, si no el objeto que se instancia en la accion de random.

Arranco el programa y se genera un objeto aleatorio, y al pulsar en un boton de abajo, quiero que me diga si el objeto que se instancio aleatoriamente fue el 1 o el 2.

Gracias
Título: Re:Diferenciar instancia al hacer click.
Publicado por: Xizotono en Agosto 27, 2014, 06:33:44 PM
Por ejemplo tienes dos objetos, AyB.
En el obj_inicio(el que los crea)

CREATE:
crear : 1; //indica si debe crear//
creado = 0; //indica cual a creado//

STEP:
if crear = 1 {
randomize();
creado = choose(1,2);
if creado = 1 { instance_create(x,y,obj_A); } //Se crea una u otra//
if creado = 2 { instance_create(x,y,obj_B); }
crear = 0;
}

Y en el boton
Al presionar el boton :
if obj_inicio.creado = 1 { draw_text(x,y,('Objeto creado A'); }
if obj_inicio.creado = 1 { draw_text(x,y,('Objeto creado B'); }

Se puede hacer con If o con Swich

PD:No se si funcionara bien, no lo probe y lo hice rapido ;)
Título: Re:Diferenciar instancia al hacer click.
Publicado por: zido45 en Agosto 27, 2014, 07:00:24 PM
muchas gracias lo probare, llevo 3 años con visual studio y me cuesta un poco esta nueva interfaz jeje osea que el codigo iba en step, vale perfecto esta noche pruebo y cuento.

Gracias compi
Título: Re:Diferenciar instancia al hacer click.
Publicado por: Xizotono en Agosto 27, 2014, 07:33:21 PM
No, lo podias hacer en create (ya que solo ocurre una vez) pero a mi me gusta usar el step xD.

El create ocurre nada mas ser creada el objeto (si se crea dentro del juego o si se introduce manualmente), pero el step ocurre 30veces en 1 segundo.
Título: Re:Diferenciar instancia al hacer click.
Publicado por: zido45 en Agosto 30, 2014, 02:59:11 PM
perfecto, con algunas modificaciones funciona perfecto jeje ya voy pillando como va todo esto.
Gracias