我试图更改SKAction动画的速度属性。我有几个菜单按钮与小图像剪辑(从短片)。现在我想改变这个剪辑的速度。首先,我试图更改动画timePerSeconds的SKAction,现在我发现SKAction本身有一个速度属性。
但是没有,速度= 0.0应该停止动画,我尝试了动画或重复永久部分。有什么想法吗?
// all anim sequences in an array
var mainAktionArray = [SKAction()]
let menuAnimation = SKAction.animate(with: menuFrames, timePerFrame: frameTime )
let runForEver = SKAction.repeatForever(menuAnimation)
mainActionArray.append(runForEver)
menu.run(runForEver)
func setFrameRate(wert : Float32){
menuSpeed = CGFloat(wert)
menuSpeed = 0.0
for el in mainActionArray {
el.speed = menuSpeed
}
}发布于 2017-08-10 14:56:26
当您调用run命令时,其中的操作将被复制到节点,而不是引用。操作是不可变的对象,可以安全地跨多个节点使用。这允许您在多个节点上使用一个操作变量。
如果要设置特定的速度,则需要将操作从节点中提取出来。要做到这一点,您需要为它分配一个键,通过执行menu.run(runForEver,withKey"runForEver"),您可以使用let action = menu.action(forKey:"runForEver")提取它,然后设置action.speed = 0
https://stackoverflow.com/questions/45608936
复制相似问题