是否有更好的方法来序列化(在视觉上为用户)在SKSpriteNode中删除和/或显示几个新的精灵

时间:2016-04-21 01:34:42

标签: ios xcode delay skspritenode

我正在开发一款涉及移动令牌的游戏。

用户进行一次移动,并且令牌根据预定规则移动。我用sprite-kit开发了这个。

我的问题是,一旦用户进行一次移动,该算法会删除令牌SKSpriteNodes并根据需要添加令牌SKSpriteNodes,但用户只能看到最终结果。

我希望他们能够以用户选择的速度(快速动画或慢动画)单独看到每个标记移动。我有它的工作,但我觉得必须有一个更好的解决方案。

我的解决方案是跟踪延迟删除令牌所需的秒数,并将其传递给函数,以便第一个令牌.5第二次延迟调用该函数{{ 1}}延迟第二个,1为第三个,依此类推。

removeToken代码如下所示,addToken代码类似。

1.5

有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以在单个SKAction中执行此操作,该代码更简洁,更易于调试,并且可以轻松扩展以添加更复杂的效果:

使用一个sequence SKAction,其中包含:waitForDuration SKAction a removeFromParent SKAction

然后你可以考虑添加让它们淡出而不是消失(添加fadeOutWithDuration SKAction),声音效果(play SKAction)等等。