我们应该为CCAnimation定义一个位置吗?

时间:2014-04-23 07:06:47

标签: ios cocos2d-iphone

嗯,实际上我在书中提出了一个关于CCAnimation示例的问题" Learn cocos2d"。 在示例(ch6)中,我没有看到任何代码来定义CCAnimation的位置,我只看到CCSprite派生的类,名为" Ship",被赋予了一个位置

为什么呢? CCAnimation知道动画的位置?

由于

3 个答案:

答案 0 :(得分:0)

CCAnimation处理精灵,所以你必须为精灵提供位置。 CCAnimation不是CCNode的子类,因此您无法为其设置位置。

答案 1 :(得分:0)

CCAnimation没有立场。动画只会更改精灵(船舶)的精灵帧(纹理)。因此,船舶的位置决定了动画的播放位置。

答案 2 :(得分:0)

CCAnimation的目的是动画帧动画而不是精灵位置。要将精灵移动到某个位置,您必须使用CCActionMoveBy(Cocos2d v3)或CCActionMoveTo。

<强>更新

考虑你有一个舞蹈动画角色的情况,该动画由几个帧表示。角色将是CCSprite,舞蹈动画将是包含所有帧的CCAnimation(加上其他内容,如播放速度)。您可以使用CCSprite的position属性或使用CCActionMoveBy / CCActionMoveTo等动作来定位角色精灵,然后使用CCAnimate播放舞蹈动画。

如果您稍后决定添加翻转动画,则可以使用相应的帧创建另一个CCAnimation,然后定位角色并播放翻转动画。

CCAnimation保存任何位置信息都没有意义,因为需要定位动画和非动画精灵。

希望这能澄清一些事情。