小编Adr*_*res的帖子

Swift SpriteKit PhysicsBody被Xcode强制为可选

我有以下问题尝试使用Swift和SpriteKit在Xcode 6 beta 7中编写一个飞扬的鸟类克隆.

在我将physicsBody属性添加到SKSpriteNode之后,我无法直接更改physicsBody的属性,例如我无法执行以下操作:

bird = SKSpriteNode(texture: birdTexture1)
bird.position = CGPoint(x: self.frame.size.width / 2.8, y: CGRectGetMidY(self.frame))
bird.runAction(flight)
bird.physicsBody = SKPhysicsBody(circleOfRadius: bird.size.height/2)
bird.physicsBody.dynamic = true
bird.physicsBody.allowsRotation = false
Run Code Online (Sandbox Code Playgroud)

Xcode构建将失败并且在两行上出现错误,我在其中添加了dynamic和allowRotation值到PhysicsBody,我能做到的唯一方法是执行以下操作:

bird.physicsBody?.dynamic = true
bird.physicsBody?.allowsRotation = false
Run Code Online (Sandbox Code Playgroud)

使用'?'将physicsBody作为可选项的问题 这个特性使得在尝试操纵我想添加的一些鸟类物理时进行某些操作变得很复杂,比如移动时的旋转.

关于如何避免/修复必须将physicsBody属性标记为可选的任何建议?( 'physicsBody?')

谢谢!

问题的屏幕截图http://new.tinygrab.com/1afb7d57d73040945157fec7b418aa2caed4a72acd.png 放大问题的屏幕截图http://new.tinygrab.com/1afb7d57d7c7502078cab3568b6dc36285cc8dea51.png

ios sprite-kit skphysicsbody flappy-bird-clone swift

6
推荐指数
1
解决办法
1551
查看次数