嗯,实际上我在书中提出了一个关于CCAnimation
示例的问题" Learn cocos2d
"。
在示例(ch6)中,我没有看到任何代码来定义CCAnimation
的位置,我只看到CCSprite派生的类,名为" Ship",被赋予了一个位置
为什么呢? CCAnimation
知道动画的位置?
由于
答案 0 :(得分:0)
CCAnimation处理精灵,所以你必须为精灵提供位置。 CCAnimation不是CCNode的子类,因此您无法为其设置位置。
答案 1 :(得分:0)
CCAnimation没有立场。动画只会更改精灵(船舶)的精灵帧(纹理)。因此,船舶的位置决定了动画的播放位置。
答案 2 :(得分:0)
CCAnimation的目的是动画帧动画而不是精灵位置。要将精灵移动到某个位置,您必须使用CCActionMoveBy(Cocos2d v3)或CCActionMoveTo。
<强>更新强>
考虑你有一个舞蹈动画角色的情况,该动画由几个帧表示。角色将是CCSprite,舞蹈动画将是包含所有帧的CCAnimation(加上其他内容,如播放速度)。您可以使用CCSprite的position属性或使用CCActionMoveBy / CCActionMoveTo等动作来定位角色精灵,然后使用CCAnimate播放舞蹈动画。
如果您稍后决定添加翻转动画,则可以使用相应的帧创建另一个CCAnimation,然后定位角色并播放翻转动画。
CCAnimation保存任何位置信息都没有意义,因为需要定位动画和非动画精灵。
希望这能澄清一些事情。