2秒后添加addChild

Lui*_*uiz 4 ios sprite-kit swift

我试图在用户触摸屏幕2秒后添加孩子(它位于touchesBegan内),但它不起作用.我做错了吗?

//show myLabel after 2 seconds
self.myLabel.position = CGPoint(x: self.frame.width / 1.1, y: self.frame.height / 2)
self.myLabel.text = "0"
self.myLabel.zPosition = 4

self.myLabel.runAction(SKAction.sequence([SKAction.waitForDuration(2.0), SKAction.runBlock({
    self.addChild(self.myLabel)
)]))
Run Code Online (Sandbox Code Playgroud)

sma*_*ity 6

问题是除非它在场景中,否则动作不会在myLabel上运行,因此将最后一部分更改为:

self.runAction(SKAction.sequence([SKAction.waitForDuration(2.0), SKAction.runBlock({
    self.addChild(self.myLabel)
})]))
Run Code Online (Sandbox Code Playgroud)

或更好:

self.runAction(SKAction.waitForDuration(2)) {
    self.addChild(self.myLabel)
}
Run Code Online (Sandbox Code Playgroud)

注意:我假设self是场景或已经添加到场景中的其他节点.