在联系发生之前调用了didBeginContact()

时间:2015-12-11 12:57:07

标签: ios swift sprite-kit

我有两个精灵节点,我确保self.size和各自物理主体的大小相同,但我仍然得到一个非常奇怪的行为:Odd behaviour

在检测到碰撞时拍摄照片,我暂停了场景。为什么会这样?

以下是设置不同尺寸的代码: 在我的Player类(循环节点)的init()内:

 super.init(texture: texture, color: color, size: CGSize(width: 100, height: 100))

然后:

 self.physicsBody = SKPhysicsBody(circleOfRadius: self.size.width/2, center: self.position)

1 个答案:

答案 0 :(得分:2)

启用您GameViewController.swift中的物理视觉表示,如下所示:

 skView.showsPhysics = true
在您的情况下,

self.size可能指的是场景。你需要的是设置物理体的大小:

yourNode.physicsBody = SKPhysicsBody(rectangleOfSize: yourNode.size)

另请注意,如果要更改节点的锚点,最终可能会出现意外结果。锚点定义了如何相对于节点绘制纹理。它对节点的物理体没有影响。

相关问题