我正在构建一个SpriteKit游戏,其中两个节点,一个移动,一个固定接触。该联系人增加保持分数的变量。
一切正常,但是联系的两个节点通常会记录多个联系人,当它只返回一个时会产生几个增量。
关于它的最奇怪的部分是我在接触时有固定节点CHANGES PLACES,那么为什么如果它甚至不能保持静止,它只能检测到一次撞击的多次碰撞?我甚至尝试过在接触时将其移除以使其仅在击中时增加一次,甚至还会导致多次碰撞。
截至目前我正在使用:
if firstBody.categoryBitMask == HeroCategory && secondBody.categoryBitMask == BellCategory {
score1++
scoreText.text = "\(score1)"
}
但是已经尝试过许多其他情况,包括使用
didEndContact
并更改
restitution
非常感谢任何帮助。