当前位置 : 主页 > 手机开发 > 其它 >

如何在Swift中设置速度

来源:互联网 收集:自由互联 发布时间:2021-06-11
下面是 Swift中Sprite Kit中的Enemy节点.我已经为节点设置了速度,但是当它产生时没有移动. Xcode没有给我任何错误,有什么我在这里做错了吗? class Enemy: SKSpriteNode { init(imageNamed: String) { let
下面是 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)

    }
}
来自Apple的 SpriteKit documentation:

A Boolean value that indicates whether the physics body is moved by the physics simulation.

Declaration

Swift

var dynamic: Bool

Objective-C

@property(nonatomic, getter=isDynamic) BOOL dynamic

Discussion

If the value is NO, the physics body ignores all forces and impulses applied to it. This property is ignored on edge-based bodies; they are automatically static.

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

网友评论