如何在 iOS7 SpriteKit 中为不同大小的图像设置动画?

Posted

技术标签:

【中文标题】如何在 iOS7 SpriteKit 中为不同大小的图像设置动画?【英文标题】:How to animate different size of images in iOS7 SpriteKit? 【发布时间】:2014-01-11 11:45:34 【问题描述】:

我正在使用流动代码为我的精灵节点设置动画。

        NSMutableArray *jumpUpTextures = [NSMutableArray arrayWithCapacity:10];
        for (int i = 0; i < 4; i++) 
            NSString *textureName = [NSString stringWithFormat:@"runnerJumpUp%d", i];
            SKTexture *texture = [SKTexture textureWithImageNamed:textureName];
            [jumpUpTextures addObject:texture];
        

        SKAction *jumpUpAnimation = [SKAction animateWithTextures:jumpUpTextures timePerFrame:0.2]; 

动画效果很好,只是一张图像看起来更大且模糊。我有 4 张图片,尺寸如下:

runnerJumpUp0.png 62*56
runnerJumpUp1.png 62*56
runnerJumpUp2.png 62*56
runnerJumpUp3.png 47*56

最后一个的尺寸与其他三个不同。动画运行时,最后一张图片会放大。精灵的最后一帧看起来会比其他帧大。你能告诉我如何解决这个问题吗?

非常感谢。

杰克

【问题讨论】:

【参考方案1】:

使用 animateWithTextures:timePerFrame:resize:restore: 并将 resize 设置为 YES。

【讨论】:

我们可以在 animateWithTexture 上应用 sprite 的 scale 属性吗:或者还有其他方法可以完成特定比例的动画工作吗? 我正要问一个关于我的动画缩小的问题,这解决了这个问题,我真的很感激。干杯!

以上是关于如何在 iOS7 SpriteKit 中为不同大小的图像设置动画?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SpriteKit 中使用不同大小的纹理制作动画

iOS7 SpriteKit 如何对两个或多个精灵节点子节点的动画进行分组?

如何在 SpriteKit 中为游戏添加音乐

如何在 Swift 中为 SpriteKit 定义类别位掩码枚举?

如何在 SpriteKit 中的不同设备上使 SKSpriteNode 的速度相同?

iOS7 + Sprite Kit:如果我正在改变场景,如何保持一个计时器一直显示?