下面是 Swift中Sprite Kit中的Enemy节点.我已经为节点设置了速度,但是当它产生时没有移动. Xcode没有给我任何错误,有什么我在这里做错了吗? class Enemy: SKSpriteNode { init(imageNamed: String) { let
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: BoolObjective-C
@property(nonatomic, getter=isDynamic) BOOL dynamicDiscussion
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动态,否则它不会移动.
