SKAction持续显示单张图像?

时间:2013-09-26 11:36:37

标签: iphone ios objective-c sprite-kit skaction

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];

我有一个动画序列的帧,由NSMutableArraySKTexture个对象组成。一旦播放了该序列,我想在重复所有内容之前将静止帧折叠一秒钟。上面的代码有效,但我可以找到指定持续一段时间的唯一方法是使用animateWithTextures:timePerFrame:并提供单个纹理数组。是否有另一种方法可以让SKAction在我缺失的持续时间内显示单个图像。

1 个答案:

答案 0 :(得分:2)

您可以创建一个包含这两个操作的新SKAction。请参阅Sprite Kit编程指南一节中的'创建运行其他操作的操作'此处Adding Actions To Nodes

看看SKAction成员waitForDuration:你也可以避免以这种方式传递单个纹理。让第一个SKAction运行你的动画,然后有第二个SKAction waitForDuration。然后你的封闭式SKAction会永久地或者只要需要这两个动作。