Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: zHeMaa en Febrero 13, 2015, 11:26:16 AM

Título: knockback (o empuje)
Publicado por: zHeMaa en Febrero 13, 2015, 11:26:16 AM
Hola a todos, antes que nada para los que no lo sepan el knockback es básicamente cuando el jugador ataca al enemigo, que este se eche para detrás (como que lo empujas), no se su traducion al español. Bueno y quisiera saber como hacer para que cuando un enemigo este mirando hacia arriba, abajo, izquierda y haga la acción de knockback.
El código lo tengo funciona perfectamente, el problema es que no se como hacer para que cuando el enemigo es atacado desde la izquierda, vaya hacia la derecha, y así con las otras 3 direcciones restantes.

Mi código es este:

knockback = true
speed -= velocidad*2
alarm[11] = 5


Vale, hasta ahi bien, ahora lo que quiero es que con un if detecte hacia donde mira el enemigo, por ejemplo:
if (!arriba)
{
//código anterior pero añadiéndole el código de que empuje hacia abajo, ya que el enemigo esta mirando para arriba
}


Espero que me aya explicado, yo antes tenia los enemigos que siguieran al jugador (o la IA mejor dicho) con un "mp_potential_step", pero se quedaban pillados en esquinas y ahora lo he echo con "grids", la verdad que funciona mejor, pero claro, este código por ejemplo y el del retroceso (cuando enemigo colisiona al jugador se echa para detrás) han dejado de funcionar. Hacen lo que quieren, por ejemplo ahora le ataco desde la izquierda y hace el knockback hacia arriba por ejemplo, cuando si yo ataco desde la izquierda, lo lógico es que vaya para la derecha.

Gracias de antemano! :)
Título: Re:knockback (o empuje)
Publicado por: penumbra en Febrero 13, 2015, 11:44:21 AM
En vista cenital, suuponiendo que en el sprite originalmente el enemigo mira hacia la derecha, entonces, cuando mira hacia arriba, image_angle es igual a 90, cuando mira a la izquierda, image_angle es 180, etc, etc.