Septiembre 12, 2018, 06:32:01 PM Ultima modificación: Noviembre 13, 2018, 01:36:23 AM por Johann
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?

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 }

En modo grafico es facil hacerlo, pero es bueno aprender tanto modo grafico como GML
ese if ataque=1 llama al objeto jugador


Gracias voy a implementar tu solucion.

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


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();
       
    }