更改CCAnimation,但保留帧索引

时间:2013-11-27 17:36:44

标签: cocos2d-x

我游戏中的单位可以向8个方向移动(N,NE,E,SE等)。当单位改变方向我希望CCAnimate保留动画帧(仅改变CCAnimation)时,如果单位改变面向中间步,则避免动画跳跃。我目前的代码:

pSprite->stopAllActions();
CCAnimate* animate = CCAnimate::create((*currentAnimation)[(int)facing]);
CCRepeatForever* action = CCRepeatForever::create( animate );
pSprite->runAction( action );

其中currentAnimation是包含CCSpriteFrame数组的向量。我怎么能得到它? 我正在使用cocos2d-x 2.2

1 个答案:

答案 0 :(得分:1)

CCAnimate具有受保护的成员变量m_nNextFrame,其中包含当前动画帧的索引。在开始动画之前,您可以尝试创建一个扩展CCAnimate的类并创建一个公共setter / getter函数来将该索引设置为所需的索引。