SKAction *ghostAnimationAction =
[SKAction animateWithTextures:ghostFrames timePerFrame:0.1];
SKAction *ghostDelayAction =
[SKAction animateWithTextures:@[[SKTexture textureWithImageNamed:@"Ghost_"]]
timePerFrame:1.0];
SKAction *ghostAnimationSequence =
[SKAction sequence:@[ghostAnimationAction, ghostDelayAction]];
SKAction *repeatGhostAnimationSequence =
[SKAction repeatActionForever:ghostAnimationSequence];
我有一个动画序列的帧,由NSMutableArray
个SKTexture
个对象组成。一旦播放了该序列,我想在重复所有内容之前将静止帧折叠一秒钟。上面的代码有效,但我可以找到指定持续一段时间的唯一方法是使用animateWithTextures:timePerFrame:
并提供单个纹理数组。是否有另一种方法可以让SKAction
在我缺失的持续时间内显示单个图像。
答案 0 :(得分:2)
您可以创建一个包含这两个操作的新SKAction。请参阅Sprite Kit编程指南一节中的'创建运行其他操作的操作'此处Adding Actions To Nodes
看看SKAction成员waitForDuration:你也可以避免以这种方式传递单个纹理。让第一个SKAction运行你的动画,然后有第二个SKAction waitForDuration。然后你的封闭式SKAction会永久地或者只要需要这两个动作。