如何删除除SpriteKit中的键之外的所有操作?

时间:2017-08-11 18:20:22

标签: sprite-kit action removeall

我有一个带有一些部件(手臂,手,武器)的玩家,每当玩家改变移动模式(跑步,站立,瞄准)时,这些部件上的所有动作都会被移除,并且会运行新的动作。

现在,当玩家开火时,我在武器节点上进行“射击”动作,当玩家停止射击时,我运行weapon.removeAction(forKey: "shooting")

问题是:当玩家改变移动模式时,这种“射击”动作显然会被移除(因为武器的动作全部被移除)。

有没有办法删除除(forKey: "shooting")以外的所有操作?

我尝试将所有其他操作的关键“移动”,但很快意识到多个操作不能具有相同的键(它会覆盖以前的操作与该键以及之前的操作永远不会运行)。 (对于这个btw的任何修复?只是好奇)

显而易见的解决方案是在weapon的单独节点上运行“拍摄”动作,但这样做不太优雅。

1 个答案:

答案 0 :(得分:1)

就个人而言,我会在你的精灵中添加一个枪节点,并将射击动作放在该节点上,以便你可以删除所有动作

无法枚举您的所有操作,您可以按键删除,也可以删除所有操作。

如果你提取你的动作,删除所有动作,然后将其添加回来,它将重新启动你不想要的动作。