繁体   English   中英

Swift SpriteKit在SKAction.runBlock()中运行SKAction

[英]Swift SpriteKit run SKAction in SKAction.runBlock()

你能告诉我为什么这个代码不起作用吗? 是否可以在SKAction.runBlock()函数中运行Action?

let testaction = SKAction.repeatActionForever(SKAction.runBlock({self.myFunction()}))
runAction(testaction)

这是我的行为:

func myFunction() {
    runAction(SKAction.runBlock({
      let i = 0
      print(i)
    }))
}

我需要一个游戏。 我想区分myFunction中的某些情况,以便在不同情况下运行不同的动作。 我做错了什么?

编辑:当我将myFunction()更改为此时,我将永远打印1,而不是从内部runBlock打印0。

func myFunction() {
    let j = 1
    print(j)
    runAction(SKAction.runBlock({
      let i = 0
      print(i)
    }))
}

就像上面的人说的那样,您只需要稍微增加一点时间,它就可以工作

  let testaction1 = SKAction.runBlock(self.myFunction)
  let testaction2 = SKAction.waitForDuration(0.1)
  let sequence = SKAction.repeatActionForever(SKAction.sequence([testaction1, testaction2]))

  runAction(sequence)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM