gpt4 book ai didi

arrays - 在遍历数组时为每个元素添加延迟

转载 作者:搜寻专家 更新时间:2023-11-01 07:08:59 24 4
gpt4 key购买 nike

尝试使用 SKLabelNode 在标签上逐一显示下面数组中的元素。我认为问题是它迭代数组的速度比序列运行它的过程要快,因此导致崩溃,因为 self.addChild() 试图再次显示“Set”,而还在显示“Ready”。

我的问题是,如何减慢此迭代,以便在显示“已设置”之前“就绪”可以出现和消失?

let readySetGo = ["Ready", "Set", "GO!"]
for i in readySetGo {
newLevelLabel.text = i
newLevelLabel.fontSize = 60

let wait = SKAction.wait(forDuration: 2)
let remove = SKAction.removeFromParent()
let sequence = SKAction.sequence([wait, remove])

newLevelLabel.run(sequence)

self.addChild(newLevelLabel)
}

最佳答案

它立即进入 GO 的原因是因为您没有按相同顺序链接所有操作,所以您的所有阶段都在同时运行:

试试这个,我现在还没有编译器:

let readySetGo = ["Ready", "Set", "GO!"]

newLevelLabel.fontSize = 60

let seq: [SKAction]=[]
let waitTime:TimeIneterval = 2

for i in readySetGo {

let block = SKAction.run{
self.newLevelLabel.text = i
}

let wait = SKAction.wait(forDuration: waitTime)

seq.append(wait)
seq.append(block)

}

let wait = SKAction.wait(forDuration: waitTime)
let remove = SKAction.removeFromParent()
seq.append(wait)
seq.append(remove)
let sequence = SKAction.sequence(seq)

newLevelLabel.run(sequence)

self.addChild(newLevelLabel)

关于arrays - 在遍历数组时为每个元素添加延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46064520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com