Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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 physicsBody.applyImpulse&;碰撞发生两次而不是一次_Ios_Swift_Sprite Kit_Skphysicsbody - Fatal编程技术网

Ios physicsBody.applyImpulse&;碰撞发生两次而不是一次

Ios physicsBody.applyImpulse&;碰撞发生两次而不是一次,ios,swift,sprite-kit,skphysicsbody,Ios,Swift,Sprite Kit,Skphysicsbody,事情是这样的。在下面代码的帮助下,我的球掉到地上,然后反弹回来 ball.physicsBody?.applyImpulse(CGVectorMake(0, 25)) 但是,有时球会识别两次碰撞而不是一次碰撞(碰撞时),球会得到applyImpulse x2。(由于滞后或其他原因?)导致球飞得太快。如何确保球不会与地板碰撞两次?球是16x16,地板是16x160。当球和地板更大的时候,我没有这个问题。但我真的很想解决这个问题,而且它必须是可能的 发生的情况是,球在两次更新之间移动速度不够快,无

事情是这样的。在下面代码的帮助下,我的球掉到地上,然后反弹回来

ball.physicsBody?.applyImpulse(CGVectorMake(0, 25))

但是,有时球会识别两次碰撞而不是一次碰撞(碰撞时),球会得到applyImpulse x2。(由于滞后或其他原因?)导致球飞得太快。如何确保球不会与地板碰撞两次?球是16x16,地板是16x160。当球和地板更大的时候,我没有这个问题。但我真的很想解决这个问题,而且它必须是可能的

发生的情况是,球在两次更新之间移动速度不够快,无法在下一次更新检查之前离开球拍


还记得我们为老板做了什么吗?同样的道理也适用于划桨。当球碰到挡板时,拆下其接触检查。现在,您必须添加另一个节点,这样当您通过此节点时,您可以重新启用挡板检查

我决定将球放在凸台下方,因为我需要快速连续地生成一堆球,当两个球同时碰撞时,凸台碰撞会发生异常。事实上,我设法解决了这个新问题,将patle.SKPhysicsBody的高度从16增加到了64。其实这并不重要,因为你根本看不到它。那么它的两个球同时碰撞引起了问题?你一定把事情搞砸了不,让我重新解释一下——当球繁殖得太快时,会有一个问题。一个球产生了,触到了球拍,“激活了球头”,然后在第一个球击中球头之前,另一个球产生了,从而取消了球头的激活。这导致第二个球通过在它里面繁殖而损坏了boss是的,你搞砸了,激活-停用状态是每个球,而不是全局。知道它可以创建唯一的(self/this)对象语句,这让人松了一口气。我对老板很好奇,但是,他是一个单一的单位。他的激活状态必须以一种奇怪的方式影响其他球,即使这些球都是唯一的实体?换句话说,单个球可以改变影响其他球的凸台激活状态。对吗?