gpt4 book ai didi

swift - SKAction 运行操作中的代码未执行

转载 作者:搜寻专家 更新时间:2023-10-31 22:44:04 24 4
gpt4 key购买 nike

SKAction.run Action 中的代码块由于某种原因永远不会执行。

需要澄清的是,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)

最佳答案

在将节点放置在场景中之前,不会为节点触发操作,这里会出现先有鸡还是先有蛋的困境。你想在节点(蛋)存在于世界(鸡生下同一个蛋)之后,将节点(蛋)添加到场景(鸡)中。您需要让其他东西将节点放置在场景中,然后该节点才能运行操作。

将你的开始 Action 放在你的场景上,而不是你的节点上,它应该开始运行

关于swift - SKAction 运行操作中的代码未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41253871/

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