【问题标题】:How to change variable within SKAction sequence?如何更改 SKAction 序列中的变量?
【发布时间】:2014-11-18 03:39:02
【问题描述】:

当我的 viewDidLoad 被调用时,我运行以下操作:

    runAction(SKAction.repeatActionForever(
        SKAction.sequence([
            SKAction.runBlock(chainsawDropper),
            SKAction.waitForDuration(waitDuration)
            ])
        ))

然后在我的更新方法中,我将“waitDuration”减 1。问题是序列继续运行但从未使用更新的“waitDuration”。我怎样才能做到这一点?

【问题讨论】:

  • 您必须停止并重新创建序列或将等待操作存储在 ivar 中,以便您可以更改其速度属性
  • 如何将 waitForDuration 或 waitDuration 变量存储在 ivar 中?

标签: ios swift sprite-kit skaction


【解决方案1】:

如果您使用标签运行该操作,那么您可以随时覆盖它:

func updateActionForDuration(duration:NSTimeInterval) {
    self.runAction(  SKAction.repeatActionForever(SKAction.sequence(
         [SKAction.runBlock(chainsawDropper),
         SKAction.waitForDuration(duration)])), 
    withKey: "action key")
}

【讨论】:

  • 如何解决duration变量被改变的问题?
猜你喜欢
  • 2018-06-03
  • 2013-10-27
  • 2013-12-04
  • 1970-01-01
  • 2019-03-23
  • 2015-12-05
  • 1970-01-01
  • 2014-05-12
  • 1970-01-01
相关资源
最近更新 更多