SKLabelNode
を使用して、以下の配列の要素を1つずつラベルに表示しようとしています。私は問題がそれがシーケンスをそのコースを実行するのにかかるよりも速く配列を反復することで、 "Ready"がまだ表示されている間にself.addChild()
が "Set"のために再び表示しようとしているのでクラッシュを引き起こすと信じています。配列全体を反復するときに、単一の要素ごとに遅延を追加します。
「セット」が表示される前に、「準備完了」が表示されて消えるように、この繰り返しを遅くするにはどうすればよいですか?これを試してみてください
私は、:あなたはとても同じ順序ですべてのあなたの行動、あなたのすべてのステージが同時に実行されていないチェーンを行うため
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)
}
is newLevelLabel a UILabel?親ビューに3回newLevelLabelを追加しても意味がないようです – axelspark
これはゲームのカウントダウンですか?あなたのプログラムのどこにこのコードがありますか?sceneDidLoad、update()など? –
このコードは... override func didMove(表示する:SKView)、それはSKLabelNode ... – stinkyProgram