如何一次从一个数组添加对象到场景?

时间:2014-10-30 15:15:11

标签: ios objective-c arrays xcode swift

我有一个包含30个SKSpriteNodes的数组。我想一次一个地将每个节点添加到场景中,但是时间延迟很小。这是我到目前为止所做的,但它瞬间增加了所有的精灵。

   for var i = 0; i < 31; i++ {

        var boardPiece = SKShapeNode()
        boardPiece = addBigRedCircle()
        redPiecesArray.addObject(boardPiece)
        self.addChild(redPiecesArray.objectAtIndex(i) as SKNode)

        }

我怎么能一次从数组1中添加这些对象呢? (如果你知道如何用Obj-C做这个,那将有助于我可以弄清楚如何用Swift说同样的事情)

1 个答案:

答案 0 :(得分:0)

使用GCD怎么样?这是Swift中的一件事吗?

for var i = 0; i < 31; i++ {
  dispatch_after((Int64)(i * delayInSeconds * NSEC_PER_SEC), dispatch_get_main_queue(), {     
    var boardPiece = SKShapeNode()
    boardPiece = addBigRedCircle()
    redPiecesArray.addObject(boardPiece)
    self.addChild(redPiecesArray.objectAtIndex(i) as SKNode)
  })
}

(基于https://stackoverflow.com/a/24034838/2708650修改的dispatch_after的结构)