Код кода внутри действия SKAction.run
по какой-либо причине не выполняется.Код внутри действия запуска SKAction не выполняется
Чтобы уточнить, это две строки внутри startAction
, которые никогда не запускаются по какой-либо причине, даже если другие строки работают.
Установка точек останова на этих линиях доказывает, что эти строки никогда не выполняются.
Любая подсказка почему?
// Set first frame
let firstFrame = frames[0]
let animationNode = SKSpriteNode(texture: firstFrame)
animationNode.position = CGPoint(x: x, y: y)
// Set start action
let startAction = SKAction.run({
gAudio.playSound(file: .TestSound) // Never runs
self.animationLayer.addChild(animationNode) // Never runs
})
// Set rest of animation
let timePerFrame = 0.5
let animationAction = SKAction.animate(with: frames, timePerFrame: timePerFrame, resize: false, restore: true)
let removeAction = SKAction.removeFromParent()
let animationSequence = SKAction.sequence([startAction, animationAction, removeAction])
// Run animation
animationNode.run(animationSequence)
бежать немедленно, но блок будет идти в очередь и не гарантируется стрелять точно в перспективе времени называется, поэтому, как только вы его запустите, следующая последовательность будет срабатывать, тем самым удаляя узел из родителя, прежде чем что-либо в перспективе может произойти. – Knight0fDragon
@ Knight0fDragon благодарит так много, почему бы не опубликовать в качестве ответа? это, кажется, объясняет проблему, нет? – Crashalot
, только если анимация не работает либо – Knight0fDragon