Buenas! quisiera saber que código puedo utilizar para que cuando el enemigo me ataque mi personaje se mueve unas cuantas casillas en dirección opuesto al enemigo.
Por ejemplo si me atacan por la derecha que me empuje para la izquierda.
Muchísimas gracias! :)
Podrías comparar las coordenadas de tu enemigo con la de tu personaje:
[gml]
if (x < objEnemy.x) { //Si el enemigo ataca por la derecha...
x -= 5;
} else if (x > objEnemy.x) { //Si el enemigo ataca por la izquierda...
x += 5;
} else if (y < objEnemy.y) { //Si el enemigo ataca por arriba...
y -= 5;
} else if (y < objEnemy.y) { //Si el enemigo ataca por abajo...
y += 5;
}
[/gml]
Cita de: Iros en Enero 13, 2015, 11:01:08 PM
Podrías comparar las coordenadas de tu enemigo con la de tu personaje:
[gml]
if (x < objEnemy.x) { //Si el enemigo ataca por la derecha...
x -= 5;
} else if (x > objEnemy.x) { //Si el enemigo ataca por la izquierda...
x += 5;
} else if (y < objEnemy.y) { //Si el enemigo ataca por arriba...
y -= 5;
} else if (y < objEnemy.y) { //Si el enemigo ataca por abajo...
y += 5;
}
[/gml]
Funcionar.. funciona, pero básicamente lo único que hace es mover mi personaje hacia los lados, por ejemplo si me atacan por la derecha me mueve 5 pixeles hacia la izquierda.
Y mas o menos busco que se note el empujón, en vez de un teletransporte.. pero bueno para ir tirando me sirve, gracias por responder! :)
podrías ponerle un vspeed y hspeed para arreglarlo y que se ejecute una alarma para dejar de ejecutar el speed.