1 回答

TA貢獻1893條經(jīng)驗 獲得超10個贊
int currentAnimIndex = 0; //精靈當前播放的是第幾幀for(int i = 0; i < 5; i++){ //5張圖5幀 if(prite->displayedFrame() == anim->getFrames()->getObjectAtIndex(i)) { //這個i返回的只是一個索引,如果幀數(shù)是從1開始計算就要+1 currentAnimIndex = i+1; }}prite->displayedFrame()獲取的是當前精靈動畫所顯示的幀精靈指(CCSpriteFrame).
anim->getFrames()獲得的是整個動畫所保存的幀精靈指針數(shù)組(CCSpriteFrame)
其實我們創(chuàng)建animation時所添加進去的圖片文件都會轉(zhuǎn)化成CCSpriteFrame保存起來。
animation->getFrames()->getObjectAtIndex(i)獲取的是animation中幀精靈數(shù)組中某個索引的元素,這個元素也是CCSpriteFrame.
獲取的原理就是,我通過sprite->displayedFrame()獲得我當前精靈所播放的CCSpriteFrame,然后去跟我的動畫數(shù)組(CCSpriteFrame數(shù)組)去做比較,取得對應(yīng)元素在數(shù)組中的下標從而獲取當前精靈播放的是第幾幀。
- 1 回答
- 0 關(guān)注
- 746 瀏覽
添加回答
舉報