Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: shadowmanuel en Septiembre 12, 2018, 06:32:01 PM

Título: Llamar estado ataque desde GML
Publicado por: shadowmanuel en Septiembre 12, 2018, 06:32:01 PM
Lo puedo hacer con modo grafico, pero quiero avanzar en GML
Tengo un objeto jugador, cuando presino X activo una variable ataque a 1, cuando suelto la X la variable pasa a 0
en el objeto enemigo, en el evento colision con el jugador y que el estado atacar del jugador sea 1
el enemigo se destruya y llamo al objeto animacion_muerte
Intente esto, funciona pero lo hace aun cuando el ataque este en 0, si destruye al enemigo y llama a la animacion

with(obj_jugador.ataque=1);
instance_create(x, y, obj_muerte_enemigo);
instance_destroy(); 

Tambien intente esto, pero no funciona
jugador = instance_create(x, y, jugador).ataque=1;
with (jugador) {
instance_create(x, y, obj_muerte_enemigo);
instance_destroy();  // Borrar tesoro
}

Que puede estar mal?
Título: Re:Llamar estado ataque desde GML
Publicado por: Ashe de Freljord en Septiembre 12, 2018, 06:38:04 PM
El problema es que estas usando with, deberias usar if.

Para comparar cosas se hace con if:


If (jugador_1.ataque == 1){
instance_create(x, y, obj_muerte_enemigo);
instance_destroy(); 

}

Nota que si hay varias acciones a realizar deben estar dentro de { y de }
Título: Re:Llamar estado ataque desde GML
Publicado por: shadowmanuel en Septiembre 12, 2018, 06:44:22 PM
En modo grafico es facil hacerlo, pero es bueno aprender tanto modo grafico como GML
ese if ataque=1 llama al objeto jugador
(https://i.imgur.com/ouArTGt.jpg)

Gracias voy a implementar tu solucion.
Título: Re:Llamar estado ataque desde GML
Publicado por: shadowmanuel en Septiembre 12, 2018, 06:51:03 PM
jugador = instance_create(x, y, obj_jugador);
if (jugador.ataque=1){
instance_create(x, y, obj_muerte_enemigo);
instance_destroy(); 

}

Sale un error, apenas golpeo a un enemigo salen imagenes frame * frame y se cuelga
Título: Re:Llamar estado ataque desde GML
Publicado por: BssString en Septiembre 12, 2018, 07:15:05 PM
Te sobra el primer "instance_create"
Título: Re:Llamar estado ataque desde GML
Publicado por: shadowmanuel en Septiembre 12, 2018, 07:45:24 PM
Ya lo pude hacer:
///evento choque jugador
   jugador = instance_place(x,y,obj_jugador);
   if (jugador.ataque=1){
        instance_create(x,y,obj_muerte_enemigo);
        instance_destroy();
       
    }