swift:SKSpriteNode在更新功能中不旋转



我正在尝试旋转一个骨骼图像,它是SKSpriteNode。我创建了它,在更新时,我尝试运行SKAction来旋转它。这没有任何作用。我甚至试图在每次更新时将zRotation降低10度,但仍然没有发生任何事情。我确信应用程序没有被冻结,因为当我在更新时进行打印时,文本会不断滚动。此外,应用程序的其他部分也在响应。只是骨头没有转动。

代码:

开始上课的声明

let bone = SKSpriteNode(imageNamed: "bone")
let rotateBone = SKAction.rotateByAngle(30, duration: 1)

在didMoveToView 上设置

bone.anchorPoint = CGPointMake(0.5, 0.5)
bone.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
bone.zRotation = CGFloat(arc4random())
self.addChild(bone)

尝试旋转

override func update(currentTime: NSTimeInterval)
{
    bone.runAction(rotateBone)
}

您正在对每次更新(每帧)重新运行操作:

override func update(currentTime: NSTimeInterval)
{
    bone.runAction(rotateBone)
}

操作会随着时间的推移而运行。运行一次,让它完成自己的工作。反复重新启动它只会取代之前的操作,并基本上重置它。

最新更新