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) } }
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动态,否则它不会移动.