swift:SKSpriteNode不在更新函数中旋转

时间:2014-08-29 14:33:41

标签: ios swift sprite-kit skspritenode skaction

我正在尝试旋转骨骼图像,这是一个SKSpriteNode。我创建它并在更新时,我尝试运行一个可以旋转它的SKAction。这没有任何作用。我甚至试图在每次更新时减少zRotation 10度,但仍然没有发生任何事情。我确信应用程序没有冻结,就像我在更新时打印println一样,文本不断滚动。此外,该应用程序的其他部分正在响应。它只是不旋转的骨头。

代码:

开课时宣言

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)
}

1 个答案:

答案 0 :(得分:0)

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

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

随着时间的推移,行动会持续运行一次,让它完成它的工作。重复重新启动它只会替换先前的操作并基本上重置它。