如何在swift spritekit的Switch语句中添加child(sknode)

时间:2015-04-02 22:22:55

标签: swift switch-statement addchild

我正在制作一个点亮的游戏,我需要从右到左运行随机列。 我使用开关条件(开关/案例/案例/案例......),在每种情况下我添加一个不同的子节点,但它不起作用,我不知道为什么。也是我做一个同时cicle运行条件永远

我拥有写在第一行的所有g1(sknode),g2(sknode)和moveremover(skaction)代码然后我有这个不起作用,请帮助并抱歉我的英语..

...所有g1,g2和moveremover CODES在这里......然后

var y = true

do{

var x = arc4random_uniform(5)

switch x
  {
case 1: addChild(g1); g1.runAction(moveremover)
case 2: addChild(g2); g2.runAction(moveremover)
default: SKAction.waitForDuration(2)
  }

 }
while y

也许这不是制作即时通讯的最佳方式,但这是我想象力的唯一方式

1 个答案:

答案 0 :(得分:0)

而不是无尽的do while loop,您可以使用SKAction.repeatForever一次又一次地重复一个函数。

func spawnColumn () {
    // This has your column spawning code.
}

func spawnColumnEveryTwoSeconds() {

    let spawnAction = SKAction.runBlock { () -> Void in
        self.spawnColumn()
    }

    let waitTwoSeconds = SKAction.waitForDuration(2.0)
    let spawnAndWait = SKAction.sequence([spawnAction,waitTwoSeconds])
    let spawnAndWaitForever = SKAction.repeatActionForever(spawnAndWait)

    self.runAction(spawnAndWaitForever)
}