:GMS:
Estoy haciendo un Beat 'em up similar al Streets of Rage, y en el momento que el jugador ataque al enemigo tengo un problema: lo que yo quiero hacer es que el jugador solo pueda atacar al enemigo cuando esten alineados en el eje y, lo que hice fue crear un objeto en el sprite de ataque que colisione con el enemigo, como en este video https://youtu.be/vJ6ksNLLFiQ?t=710
La diferencia es que en un beat 'em up el personaje tambien puede moverse hacia arriba y hacia abajo, y lo que sucede es que si por ejemplo el jugador esta en una posición de y más arriba o abajo que el enemigo, este es igualmente golpeado debido a que el objeto que colisiona con el enemigo lo toca. Como puedo hacer para que el enemigo solo sea afectado por el ataque solo cuando el jugador y el enemigo esten alineados en el eje y?
Una imagen como ejemplo:
(https://i.imgur.com/LxoHhxM.png)
La caja azul es la mascara de colision del escenario
Las cajas rojas son las mascaras de colision de los jugadores y enemigos
Y la caja verde es la mascara de colision del golpe (que podria ser otro objeto que es creado cuando se golpea y reproduce la animacion)
Como ves por un lado tenes las mascaras de colision que se encargaran de manejar la "fisica" de los personajes y escenario, y por otro lado tenes los sprites(caminar, quieto, golpear, recibir daño, etc) que solo sera la parte visual.
Gracias! estaba desarrollando un método parecido pero el tuyo me sirvió mejor