【发布时间】:2014-07-26 08:51:03
【问题描述】:
我想在生成节点之间等待 2 秒。所以我写了这段代码:
override func update(currentTime: CFTimeInterval) {
let releaseNodes = SKAction.sequence([SKAction.runBlock(self.generateNode), SKAction.waitForDuration(2)])
self.runAction(releaseNodes)
}
但它不起作用。它疯狂地生成节点。 (比如 20 秒)。我该如何处理?有人可以帮帮我吗?
编辑:这里是 self.generateNode 块
func generateNode(){
var node: SKSpriteNode = SKSpriteNode(imageNamed: "node")
fish.anchorPoint = CGPoint(x:CGFloat(-0.5),y:CGFloat(-0.2))
fish.position = CGPoint(x:CGFloat(10),y:CGFloat(30))
var move = SKAction.rotateToAngle(CGFloat(3.14), duration: NSTimeInterval(1))
var remove = SKAction.removeFromParent()
var seq = SKAction.sequence([move, remove])
node.runAction(seq)
self.addChild(node)
}
【问题讨论】:
-
发布 self.generateNode 块代码
-
使用
M_PI作为常量,而不是3.14。 -
不应将 generateNode 函数放在 update() 中。您应该创建一个由具有 waitForDuration 和 generateNode 的序列组成的 SKAction,并具有操作 repeatActionForever。
标签: ios swift sprite-kit