我有下面代表两个多边形的图像精灵。这些多边形松散地代表精灵区域。我想要做的是使用这些多边形来检测精灵的重叠(或碰撞)。但是重叠应该在绿色方块内有效。 (这是一个拼图游戏,我试图实现的是当它们靠近时拼图拼图)
我尝试了Intersector.overlapConvexPolygons(adjacentPiece.polygon, currentPiece.polygon);
但是这个检测到整个多边形的重叠。
我可以在这里做任何聪明的事情来检测重叠。
答案 0 :(得分:1)
我认为你的方法可能过于复杂。如果你需要拼图相互碰撞,你可以保持你的物理界限,但如果没有,你可以完全删除它们。
无论哪种方式,为了检测两个部件是否应该咬合,您可以将每个部件近似大致位于每个部件的四个基本侧面的中心处。要测试足够靠近的部分,您只需要测量两个部分两侧点之间的距离,看它是否小于您想要使用的某个阈值。
如果这是一个典型的益智游戏,你只需要在玩家发布一个棋子时检查这个,所以如果需要一段时间来蛮力循环通过所有潜在的比赛,它真的不会值得注意的是因为在玩家拖动棋子时没有完成。
答案 1 :(得分:1)