下面是
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动态,否则它不会移动.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。