【发布时间】:2016-01-19 05:53:25
【问题描述】:
我通过以下方式创建了一个左边缘:
let leftBorderEdgeRect = CGRectMake(self.frame.origin.x, self.frame.origin.y, 0.5 , CGRectGetHeight(frame))
let leftBorderEdge = SKNode()
leftBorderEdge.physicsBody = SKPhysicsBody(edgeLoopFromRect: leftBorderEdgeRect)
任何时候一个 SKSpriteNode 与边缘接触,大约 10% 的大小(宽度)会通过边缘。我通过施加力来移动精灵。现在,当在 didBeginContact 中建立联系时,我会暂停场景,方法如下:
if firstBody.categoryBitMask == spriteCategory && secondBody.categoryBitMask == leftBorderCategory {
print("contact with leftBorder")
print("firstBody.node xPos: \(firstBody.node?.position.x) and yPos: \(firstBody.node?.position.y)")
self.view?.paused = true
}
我不确定是什么导致它通过边缘边界。我还尝试为整个场景设置世界边缘,但仍然得到相同的结果。我正在为我的精灵使用默认锚点。
【问题讨论】:
-
你能展示整个didBeginContacts方法吗
标签: swift sprite-kit swift2