Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为什么碰撞和接触都可以在Swift(Xcode)中检测到?_Ios_Swift - Fatal编程技术网

Ios 为什么碰撞和接触都可以在Swift(Xcode)中检测到?

Ios 为什么碰撞和接触都可以在Swift(Xcode)中检测到?,ios,swift,Ios,Swift,为什么碰撞和接触都可以在Swift中检测到?碰撞不是接触的子集吗?换句话说,通过监控联系人,您不也在监控冲突吗?冲突和联系人是两件不同的事情。 当您需要决定您的身体是否应该撞击另一个身体并对撞击作出反应或忽略撞击时,使用碰撞。 在碰撞检测中,当两个对象相互接触时,将模拟物理过程,并且一个或两个对象的运动方向可能会根据其特性(如质量和对象是否是动态的)而改变。这两个对象不会同时共享同一空间 接触检测用于检测两个对象是否相互接触。两个对象可以相互通过(如果未启用碰撞检测)。当它们相交时,开始接触。当

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

冲突和联系人是两件不同的事情。 当您需要决定您的身体是否应该撞击另一个身体并对撞击作出反应或忽略撞击时,使用碰撞。 在碰撞检测中,当两个对象相互接触时,将模拟物理过程,并且一个或两个对象的运动方向可能会根据其特性(如质量和对象是否是动态的)而改变。这两个对象不会同时共享同一空间

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

例如,以经典游戏为例。 在这个游戏中,我们需要检测球与砖块、球与桨之间的碰撞。在这种情况下,我们使用碰撞检测。这会使球撞击并对桨和砖块产生反应。我们还需要接触检测来跟踪球击中的砖块


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

这是有道理的,但是监控联系人不足以监控冲突吗?就像我说的监控联系人不能监控冲突。因为我们需要分别检测它们。就像我的两个例子一样。