(1).播放精靈動畫,指定播放速度;
(2).播放特定幀,指定特定每幀的幀速,可以實現慢放,快進,跳幀,倒放等;
(3).可以循環播放,也能夠只播放1次,也能夠指定播放次數;
(4).加入監聽器,完全掌握動畫的播放狀態,開始?結束?播到第幾幀?是不是播放完?循環了幾次;
/**
* 播放
* @param pFrameDurationEach 每幀不放多少時間,毫秒為單位
*/
public void animate(final long pFrameDurationEach)
/**
* 播放并監聽
* @param pFrameDurationEach 每幀不放多少時間,毫秒為單位
* @param pAnimationListener 動畫監聽器
*/
public void animate(final long pFrameDurationEach, final IAnimationListener pAnimationListener)
/**
* 是不是循環播放
* @param pFrameDurationEach 每幀不放多少時間,毫秒為單位
* @param pLoop 是不是循環
*/
public void animate(final long pFrameDurationEach, final boolean pLoop)
/**
* 是不是循環播放 加監聽
* @param pFrameDurationEach 每幀不放多少時間,毫秒為單位
* @param pLoop 是不是循環
* @param pAnimationListener 動畫監聽器
*/
public void animate(final long pFrameDurationEach, final boolean pLoop, final IAnimationListener pAnimationListener)
/**
* 是不是循環播放 加監聽
* @param pFrameDurationEach 每幀不放多少時間,毫秒為單位
* @param pLoopCount 循環次數
*/
public void animate(final long pFrameDurationEach, final int pLoopCount)
/**
* 是不是循環播放 加監聽
* @param pFrameDurationEach 每幀不放多少時間,毫秒為單位
* @param pLoopCount 循環次數
* @param pAnimationListener 動畫監聽器
*/
public void animate(final long pFrameDurationEach, final int pLoopCount, final IAnimationListener pAnimationListener)
/**
* 播放特定的幀
*
* @param pFrameDurations 特定幀的幀速.
*/
public void animate(final long[] pFrameDurations)
public void animate(final long[] pFrameDurations, final IAnimationListener pAnimationListener)
public void animate(final long[] pFrameDurations, final boolean pLoop)
public void animate(final long[] pFrameDurations, final boolean pLoop)
public void animate(final long[] pFrameDurations, final int pLoopCount)
public void animate(final long[] pFrameDurations, final int pLoopCount, final IAnimationListener pAnimationListener)
/**
* 播放特定的幀
*
* @param pFrameDurations 特定幀的幀速.
* @param pFirstTileIndex 起始幀.
* @param pLastTileIndex 終結幀.
* @param pLoop 是不是循環.
*/
public void animate(final long[] pFrameDurations, final int pFirstTileIndex, final int pLastTileIndex, final boolean pLoop)
public void animate(final long[] pFrameDurations, final int pFirstTileIndex, final int pLastTileIndex, final boolean pLoop, final IAnimationListener pAnimationListener)
public void animate(final long[] pFrameDurations, final int pFirstTileIndex, final int pLastTileIndex, final int pLoopCount)
public void animate(final long[] pFrameDurations, final int pFirstTileIndex, final int pLastTileIndex, final int pLoopCount, final IAnimationListener pAnimationListener)
/**
* 播放特定的幀
*
* @param pFrameDurations 必須與pFrames相同的length.
* @param pFrames 播放幀的目錄.
*/
public void animate(final long[] pFrameDurations, final int[] pFrames)
/**
* 播放特定的幀
*
* @param pFrameDurations 必須與pFrames相同的length.
* @param pFrames 播放幀的目錄.
* @param pLoop 是不是循環
*/
public void animate(final long[] pFrameDurations, final int[] pFrames, final boolean pLoop)
/**
* 播放特定的幀
*
* @param pFrameDurations 必須與pFrames相同的length.
* @param pFrames 播放幀的目錄.
* @param pLoopCount 循環次數
*/
public void animate(final long[] pFrameDurations, final int[] pFrames, final int pLoopCount)
/**
* 播放特定的幀
*
* @param pFrameDurations 必須與pFrames相同的length.
* @param pFrames 播放幀的目錄.
* @param pLoopCount 循環次數
* @param pAnimationListener 監聽器動畫狀態
*/
public void animate(final long[] pFrameDurations, final int[] pFrames, final int pLoopCount, final IAnimationListener pAnimationListener)
new IAnimationListener() {
@Override
public void onAnimationStarted(AnimatedSprite animatedsprite, int i) {//動畫開始時回調
System.out.println("sprite2: 動畫開始");
}
@Override
public void onAnimationLoopFinished(AnimatedSprite animatedsprite, int i,
int j) {//動畫循環1次時回調
System.out.println("sprite2: 動畫循環1次結束");
}
@Override
public void onAnimationFrameChanged(AnimatedSprite animatedsprite, int pOldFrameIndex,
int pNewFrameIndex) {// pOldFrameIndex,pNewFrameIndex,當前播放的是第幾幀, pOldFrameIndex從 ⑴ 算起
//pNewFrameIndex 從0 算起,pOldFrameIndex用于判斷是不是曾啟動過動畫,啟動過最小則從0算起
System.out.println("sprite2: pOldFrameIndex"+pOldFrameIndex+" pNewFrameIndex:"+pNewFrameIndex);
}
@Override
public void onAnimationFinished(AnimatedSprite animatedsprite) {//動畫結束時調用
System.out.println("sprite2: 動畫播放結束");
}
}
OGE_Example項目源碼