我有两个精灵节点,我确保self.size
和各自物理主体的大小相同,但我仍然得到一个非常奇怪的行为:
在检测到碰撞时拍摄照片,我暂停了场景。为什么会这样?
以下是设置不同尺寸的代码:
在我的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)
答案 0 :(得分:2)
启用您GameViewController.swift
中的物理视觉表示,如下所示:
skView.showsPhysics = true
在您的情况下, self.size
可能指的是场景。你需要的是设置物理体的大小:
yourNode.physicsBody = SKPhysicsBody(rectangleOfSize: yourNode.size)
另请注意,如果要更改节点的锚点,最终可能会出现意外结果。锚点定义了如何相对于节点绘制纹理。它对节点的物理体没有影响。