我有一个包含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说同样的事情)
答案 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
的结构)