【发布时间】:2016-10-20 14:01:10
【问题描述】:
在我的didEndContact: 方法中,我增加了一个“currentScore”。
由于某种原因,didEndContact: 没有被调用,因此“currentScore”没有增加。任何想法为什么或我应该寻找什么来调试这个?
func didEndContact(contact: SKPhysicsContact) {
guard goal!.barEnabled else { return }
score += 1
}
这是相关代码,如果我也可以添加任何其他有用的细节,请告诉我:
var barEnabled:Bool {
set {
bar?.physicsBody?.collisionBitMask = newValue ? CollisionMask.Puck : CollisionMask.None
bar?.physicsBody?.categoryBitMask = newValue ? CollisionMask.Goal : CollisionMask.None
}
get {
return bar?.physicsBody?.collisionBitMask == CollisionMask.Puck
}
}
【问题讨论】:
-
您是在 didEndContact 发生之前从场景中移除精灵吗?因为那时它不会被调用
-
@Knight0fDragon 是的,因为这个原因我检查了:stackoverflow.com/questions/29331799/…,但感谢您与我仔细检查
标签: swift xcode sprite-kit skphysicscontact