自定义动画类
问题描述:
对于我的应用程序,我试图实现一个角色,他在走路时显示行走动画,并在空中显示跳跃动画。自定义动画类
使用Cocos2D,我创建了一个简单的动画。问题是我正在使用CCRepeatForever,并且我似乎无法停止动画或将其关闭后切换它。
Steffen Itterheim的书在关于精灵的章节中讨论了一些动画。他创建动画的方式是将多个精灵帧添加到CCAnimation对象,然后使用CCRepeatForever运行它。
我目前正在寻找两种可能性: 1)创建多个精灵并将它们添加到CCArray,然后遍历多个精灵。 2)找到CCRepeatForever的替代解决方案,找到停止动画或切换到其他动画的方法。
编号为1的问题是,我无法弄清楚如何将选择性精灵渲染到舞台上。它似乎是在屏幕上添加一个精灵的唯一方法是使用[self addChild:mySprite];如果我想在多个精灵之间切换,这是限制和问题的。有没有办法选择性渲染一个精灵? 编号为2的问题是,似乎没有CCRepeatForever的替代方法,其他动画类不足以运行动画。
谢谢!
答
假设您为以下操作指定标签。
CCSprite *sprite = [CCSprite spriteWithFile:@"image.png"];
CCRotateBy *spinAction = [CCRotateBy actionWithDuration:1 angle:90];
CCRepeatForever *spinForever = [CCRepeatForever actionWithAction:spinAction];
[spinForever setTag:ANIMATION_TAG];
[sprite runAction:spinForever];
您可以通过调用
[sprite stopActionByTag:ANIMATION_TAG];
你可以阻止它停止动画,你需要给它一个标签/名称或什么的,我只是不能在此刻记住什么。 – 2012-02-06 21:33:04