là, tu testes deux demi-hitbox à chaque fois, pas sûr que ce soit la bonne technique...
je mettrais plutôt:
if(ay>= ey+enemy.getTextureHeight()/2 && ay<= ey-ennemy.getTextureHeight()/2)
{
//même truc avec des X a la place des Y
}
et si ça marche pas, j'inverserai les + et les - car j'ai aucune idée de la manière dont tes axes sont orientés.
et je vérifierai déja que enemy.getTextureHeight() et enemy.getTextureWidth() renvoient des valeurs cohérentes, et je les précalculerai avant le test pour ne pas faire deux récupérations et divisions mais en java, ce genre de petites attentions représentent certainement une goutte d'eau insignifiante. 