SpriteKit PhysicsBody:无法为基本形状创建物理体

时间:2016-06-19 12:37:47

标签: xcode swift sprite-kit skspritenode skphysicsbody

我有一个非常基本的多边形,它是我游戏中精灵的纹理,但是当我尝试从这个纹理为精灵创建一个physicsBody时,我得到了这个错误:

2016-06-19 08:25:21.707 Space Escape[14677:5651144] PhysicsBody: Could not create physics body.

此外,游戏使用许多不同的简单多边形,对于某些人来说,可以创建physicsBody,但对于其他人则会出错。

func setPhysics(size: CGSize) {

    self.physicsBody = SKPhysicsBody(texture: asteroidTexture, size: size)
    self.physicsBody?.angularDamping = 0
    self.physicsBody?.angularVelocity = 2

}

这是纹理:

Simple Heptagon Sprite Texture

2 个答案:

答案 0 :(得分:1)

在我的操场上它正在工作。尝试替换下面代码中的size参数并告诉我

let asteroidTexture = SKTexture(imageNamed: "sprite")
let physicsBody = SKPhysicsBody(texture: asteroidTexture, size: asteroidTexture.size())

答案 1 :(得分:0)

我已经尝试过这种物理表现可能会减慢你的碰撞速度。而不是它,如果你不需要精灵的物理身体极其精确,试着使用:

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

cpu计算更轻,更轻薄。 你可以看到游戏几乎完成时的巨大差异(例如80%)。我希望这会有所帮助。