怎么獲得 cocos2d-x 的動畫幀
2 回答

慕絲7291255
TA貢獻1859條經驗 獲得超6個贊
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數組)去做比較,取得對應元素在數組中的下標從而獲取當前精靈播放的是第幾幀。
- 2 回答
- 0 關注
- 829 瀏覽
添加回答
舉報
0/150
提交
取消