使用setTexture在Cocos2d中制作动画?

时间:2011-09-26 22:35:41

标签: objective-c cocos2d-iphone

假设我的项目中有120个图像文件。我想用它们全部为精灵制作动画。

我在想这个方法:

            CCSprite *temp = [CCSprite spriteWithFile:@"TheNextSprite.png"];
            [sprite setTexture:[temp texture]];

以上代码每0.03秒运行一次。

精灵是我的动画CCSprite。 temp 只是一个临时的CCSprite,用下一个动画帧的图像文件初始化,所以我可以稍后拍摄它的纹理。

这样有效吗?我听说我可以将CCAnimate与CCSpriteBatchNode一起使用,但这只适用于一个精灵。另外我有120(大)帧 - 它们不适合2048x2048纹理画布。

1 个答案:

答案 0 :(得分:1)

查看CCAnimationCCAnimateCCSpriteFrame类。

Sprite帧是你想要模仿的东西,是精灵映射到的纹理的“片段”。它们最好在与spritesheets结合使用时使用,并非动画中的所有精灵都需要在同一个精灵表中。

CCAnimation允许您从一系列此类帧中创建动画。

CCAnimate允许您将该动画作为动作运行:

[node runAction:[CCAnimate actionWithAnimation:animationInstance restoreOriginal:NO]];