Android遊戲之精靈動畫

Android遊戲之精靈動畫

遊戲動畫由關鍵幀(keyframe)組成.將它地依次連續渲染產生運動效果.上圖每幀尺寸64*64像素一共四幀.為產生動畫效果需每隔若干毫秒渲染一幀.當渲染到最後一幀時可選擇重新播放或停止播放.通常要實現『行走』『跳躍』『攻擊』『倒下』需要定義動畫結構

public class ANIMATION {

保存紋理圖檔只能關鍵幀位置.並且其順序與動畫回放順序相同

public REGION[] frames = null;

保存每幀間隔時間,用於確定每幀切換時間.

public float     duration;

動畫播放模式,分為『循環播放』與『單次播放』

public static final int LOOPING = 0;

public static final int NONLOOPING = 1;

構建動畫輸入『每幀間隔』與每幀『紋理區域』

ANIMATION(float duration,REGION … frames){

this.duration = duration;

this.frames = frames;

}

輸入時間提取關鍵幀.播放模式是單次或循環,基於『狀態時間』除以『每幀間隔』計算幀索引.

public REGION GetKeyFrame(float stateTime,int mode){

int index = (int)(stateTime/duration);

if(mode == NONLOOPING)// 單次播放

index = Math.min(frames.length-1, index);

else

index = index % frames.length;

return frames[index];

}

評論