子视图中两个对象之间的碰撞检测

Collision Detection Between Two Objects in a Subview

我收到以下问题。我的子视图上有两个对象。其中之一是能够在瓷砖上移动的玩家。另一个是墙。玩家不应该能够穿过或在墙上移动。现在,墙被视为空无一物或背景(不是障碍物)。 我的一个想法是保存墙壁的所有坐标并检查玩家的坐标是否与墙壁的坐标匹配并撤消移动。在我看来,这个想法效率很低,可能会做得更好。 还有其他解决方案吗?

如果这是一款游戏,请使用 Sprite Kit,它可为您提供碰撞检测和自动 "bounce" 行为。如果是瞬时动画,请使用 UIKit Dynamics,它会为您提供碰撞检测和自动 "bounce" 行为。否则,您只需要自己实现碰撞检测(通过查看一个视图的框架是否与另一个视图的框架相交)并自己执行 "bounce"。