我游戏中的单位可以向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
答案 0 :(得分:1)
CCAnimate具有受保护的成员变量m_nNextFrame,其中包含当前动画帧的索引。在开始动画之前,您可以尝试创建一个扩展CCAnimate的类并创建一个公共setter / getter函数来将该索引设置为所需的索引。