ios - 我可以将 SKAction runBlock 与 SKNode - runAction :completion:? 函数结合起来吗?

标签 ios sprite-kit skspritenode skaction

当我调用 runAction:completion:? SKSpriteNode 的函数,并传入 SKAction runBlock 操作,回调例程永远不会被调用。

最佳答案

嗯,这可能是因为 SpriteKit 无法知道你的 block 何时真正停止影响相关节点。如果 API 设计得更好,也许它会为您提供一种从 block 调用完成的方法,但事实并非如此。但是,您可以在自己的 block 中自行调用在完成 block 中调用的任何内容。

编辑:是的,被调用的(在本例中为 SpriteKit)确实知道您的 block 何时结束执行,但是您的 block 可能会执行延迟调用,这将进一步影响相关节点,因此无法确定操作是否真正结束。例如,考虑一个触发计时器的 block ,该计时器会随着时间的推移改变某个属性。

关于ios - 我可以将 SKAction runBlock 与 SKNode - runAction :completion:? 函数结合起来吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32995872/

相关文章:

ios - 需要大量的 SkSpriteNode 和 CPU 使用率已经达到 90%

sprite-kit - 为什么 Sprite 套件中的坐标系翻转了,我可以全局更改吗?

ios - 我可以创建一个分支链接,然后立即解析它的数据而不离开应用程序吗?

ios - isKindOfClass 为测试用例返回不同的值

ios - SwiftUI:自定义按钮无法识别具有清晰背景和 buttonStyle 的触摸

ios - 在进入其他状态之前隐藏 UIbutton

swift - 在 Swift 中获取 AnyObject 的类型

iphone - 在 xcode 中安装 OpenCV

ios - 如何在SpriteKit中创建场景切换的无限滚动背景?

ios - rotateToAngle 的 Sprite anchor