如何在Swift中设置速度

Jam*_*own 3 sprite-kit swift

下面是Swift中Sprite Kit中的Enemy节点.我已经为节点设置了速度,但是当它产生时没有移动.Xcode没有给我任何错误,有什么我在这里做错了吗?

class Enemy: SKSpriteNode {

    init(imageNamed: String) {

        let imageTexture = SKTexture(imageNamed: imageNamed)
        super.init(texture: imageTexture, color: nil, size: imageTexture.size())

        self.name = "Enemy"

        self.physicsBody = SKPhysicsBody(rectangleOfSize: imageTexture.size())
        self.physicsBody?.dynamic = false
        self.physicsBody?.velocity = CGVectorMake(10.0,10.0)

    }
}
Run Code Online (Sandbox Code Playgroud)

Mos*_*she 7

来自Apple的SpriteKit文档:

一个布尔值,指示物理模拟是否移动了物理主体.

宣言

迅速

var dynamic: Bool

Objective-C的

@property(nonatomic, getter=isDynamic) BOOL dynamic

讨论

如果值为NO,则物理机构忽略应用于它的所有力和脉冲.在基于边的主体上忽略此属性; 它们是自动静态的.

正如0x141E所说,你必须使你的SKPhysicsBody动态,或者它不会移动.