Buenas, bueno, después de la pifia del primer post que puse, que no me dejó editarlo cuando vi lo que tenía mal(xD) tengo otra duda y espero que podáis echarme una manita.
Bueno ahora mismo tenemos un proyecto entre manos bastante interesante y divertido, un juego de acción con vista aérea y me ha tocado a mi programar las armas, las diferentes skills y demás. El tema es que he empezado con el "tridente" una de las tres armas con las que cuenta el juego, y habíamos pensado en ponerle de especial que hacía retroceder a los enemigos una vez les atacabas. Por el momento, ya que nuestro personaje no tiene un sprite (es sólo un circulo xD) no voy a centrarme en la dirección del ataque, de momento el personaje ataca en la dirección en la que hay un enemigo, lo que quiero hacer es que una vez termines el combo (ya programado) el enemigo retroceda un poco.
He estado pensando como hacerlo y la verdad, no se me ha ocurrido como podría hacer para ver desde que dirección ataca para saber hacia que dirección tiene que retroceder, si alguien me echase una mano le estaría muy agradecido xD.
Un saludo!
Esto es una idea, no lo he probado, pero bien implementada seguro funciona.
En el enemigo atacado se calcula la dirección donde está el jugador
dir = point_direction(x, y, obj_player.x, obj_player.y)
eso te da un ángulo en grados de una línea recta imaginaría que iría del enemigo al jugador. El enemigo, al ser atacado, debería moverse sobre la misma línea, pero en la dirección contraria, por lo que a ese ángulo dir sólo tienes que sumarle +180, y esa sería la dirección de retroceso.
No sé demasiado bien como aplicar eso, todavía soy bastante novato en todo esto, si pudieses explicármelo un poquito mas x)
http://www.comunidadgm.org/preguntas-y-respuestas/(re-abierto-)-retroceso-tds/msg104280/#msg104280
BUSCA xd