检测等距中两个精灵之间的碰撞/重叠

Detect collisions / overlap between two sprites in isometric

我正在使用 Phaser 及其等距插件。然而,我在这件事上还是个新手。

我有 2 个精灵,我想检查它们之间的交集/重叠。它们是二维简单精灵。我只想检查交叉点,如果它们并排,那将是某种近战攻击。

我为玩家创建了一个碰撞框(一个矩形)并创建了一个函数来检测两个矩形是否相交。我实际上可以通过这种方式检测到碰撞,但是如果玩家的位置比目标低一点(在屏幕坐标 y 中),它也会检测到碰撞。

我需要一种方法来确保精灵 "aligned"。我怎样才能在等轴测图中做到这一点以使精灵相互交互?如果需要,我可以提供更多信息或提供代码。

"Isometric" 只是渲染场景的方式,不应该与碰撞逻辑有任何关系。所有游戏对象都存在于相同的 3D space 中,因此 碰撞精灵需要 3d 碰撞盒