怎么获得 cocos2d-x 的动画帧
1 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
int currentAnimIndex = 0; //精灵当前播放的是第几帧for(int i = 0; i < 5; i++){ //5张图5帧 if(prite->displayedFrame() == anim->getFrames()->getObjectAtIndex(i)) { //这个i返回的只是一个索引,如果帧数是从1开始计算就要+1 currentAnimIndex = i+1; }}prite->displayedFrame()获取的是当前精灵动画所显示的帧精灵指(CCSpriteFrame).
anim->getFrames()获得的是整个动画所保存的帧精灵指针数组(CCSpriteFrame)
其实我们创建animation时所添加进去的图片文件都会转化成CCSpriteFrame保存起来。
animation->getFrames()->getObjectAtIndex(i)获取的是animation中帧精灵数组中某个索引的元素,这个元素也是CCSpriteFrame.
获取的原理就是,我通过sprite->displayedFrame()获得我当前精灵所播放的CCSpriteFrame,然后去跟我的动画数组(CCSpriteFrame数组)去做比较,取得对应元素在数组中的下标从而获取当前精灵播放的是第几帧。
- 1 回答
- 0 关注
- 688 浏览
添加回答
举报
0/150
提交
取消