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
(https://i.imgur.com/ouArTGt.jpg)
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
Te sobra el primer "instance_create"
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();
}