为什么在Swift(Xcode)中可以检测到冲突和联系人?

时间:2015-03-03 06:30:20

标签: ios swift

为什么在Swift中可以检测到冲突和联系人?碰撞不是联系人的子集吗?换句话说,通过监控联系人,您是否也在监控冲突?

1 个答案:

答案 0 :(得分:1)

碰撞和接触是两回事。 当你需要决定你的身体是否应该击中另一个身体并对罢工作出反应或忽略它时,会使用碰撞。  在碰撞检测中,当两个物体彼此接触时,物理被模拟,并且一个或两个物体的运动方向可以根据它们的特性(例如质量和物体是否是动态的)而改变。这两个对象不会同时共享相同的空间。

接触检测用于检测两个物体是否相互接触。两个物体可以相互穿过(如果未启用碰撞检测)。当它们交叉时,开始接触。当接触不再相交时,接触结束。

例如,参加经典的Breakout游戏。 在这个游戏中,我们需要检测球和砖以及球和桨之间的碰撞。在这种情况下,我们使用碰撞检测。这使得球撞击并对桨和砖做出反应。我们还需要接触检测以跟踪球击中的砖块。

考虑另一个角色需要在屏幕中的特定点收集加电位置的游戏。在这种情况下,您不需要模拟加电和角色之间的碰撞。通常在角色通过时收集通电。如果启用了碰撞检测,则不会发生这种情况。角色只需要检测与上电的接触。这是您使用接触检测的地方。