当我调用runAction时:完成:? SKSpriteNode的功能,并传入SKAction runBlock动作,回调例程永远不会被调用。
答案 0 :(得分:2)
嗯,这可能是因为SpriteKit无法知道您的块何时实际停止影响相关节点。如果API设计得更好,它可能会给你一种从块中调用完成的方法,但事实并非如此。但是,您可以在块内自行调用完成块中的任何内容。
编辑:是的,被调用的(在本例中为SpriteKit)确实知道你的块何时结束执行,但你的块可能会执行延迟调用,这将进一步影响相关节点,因此无法确定该操作是否真正结束。例如,考虑一个触发计时器的块,该计时器随时间变化某个属性。