2013-11-27 54 views
0

我的游戏中的单位可以在8个方向上移动(N,NE,E,SE等)。当单位改变方向时,我希望CCAnimate保留动画帧(仅改变CCAnimation),以避免单位在中间变换时动画跳跃。我当前的代码:更改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

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