1. 位置:Drawing_example --> SpriteAnimated
2. 类名:SpriteAnimated

3.利用AnimatedSprite动画精灵类能够实现多种多种动作。

比如:

(1).播放精灵动画,指定播放速度;

(2).播放特定帧,指定特定每一帧的帧速,能够实现慢放,快进,跳帧。倒放等。

(3).能够循环播放,也能够仅仅播放一次,也能够指定播放次数;

(4).增加监听器。全然掌握动画的播放状态,開始?结束?播到第几帧?是否播放完?循环了几次;

4.一下是AnimatedSprite提供播放动画的方法:

/**

  * 播放

  * @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)

5.动画监听器:

new IAnimationListener() {

   

   @Override

   public void onAnimationStarted(AnimatedSprite animatedsprite, int i) {//动画開始时回调

    System.out.println("sprite2: 动画開始");

    

   }

   

   @Override

   public void onAnimationLoopFinished(AnimatedSprite animatedsprite, int i,

     int j) {//动画循环一次时回调

    System.out.println("sprite2: 动画循环一次结束");

   }

   

   @Override

   public void onAnimationFrameChanged(AnimatedSprite animatedsprite, int pOldFrameIndex,

     int pNewFrameIndex) {// pOldFrameIndex。pNewFrameIndex,当前播放的是第几帧, pOldFrameIndex从 -1 算起

算起

    System.out.println("sprite2: pOldFrameIndex"+pOldFrameIndex+" pNewFrameIndex:"+pNewFrameIndex);

   }

   

   @Override

   public void onAnimationFinished(AnimatedSprite animatedsprite) {//动画结束时调用

    System.out.println("sprite2: 动画播放结束");

   }

  }

OGE_Example项目源代码

最新文章

  1. Msql:Incorrect double value: ''for column 'id' at row 1解决
  2. C++命名规范
  3. 从一个故障说说Java的三个BlockingQueue
  4. nginx reload
  5. 简述负载均衡&CDN技术
  6. ORA-04052\ ORA-00604\ORA-12154
  7. PAT-乙级-1013. 数素数 (20)
  8. 【UVA 11354】 Bond (最小瓶颈生成树、树上倍增)
  9. 查看Redis信息和状态
  10. ubuntu 10.10配置NFS网络共享步骤
  11. SVN下错误集锦
  12. Java面向对象进阶篇(内部类)
  13. 爬虫-Python爬虫常用库
  14. CentOS6.5在虚拟机中安装
  15. C++学习6-面向对象编程基础(运算符重载、类的派生与继承、命名空间)
  16. 回顾2018年最受欢迎的十四款NoSQL产品
  17. MyEclipse中快速跳转到指定行号位置
  18. Informatica 常用组件Lookup缓存之三 重建查找高速缓存
  19. SQLServer cast()函数
  20. (二)Spring 之IOC 详解

热门文章

  1. JVM中常见的垃圾收集器
  2. spark学习(2)---RDD
  3. jquery腾讯换肤的一些技术实现
  4. swiper 3D 覆盖流的使用方法
  5. 洛谷——P2417 课程
  6. 集训第四周(高效算法设计)M题 (扫描法)
  7. 【已解决】ERROR: bootstrap checks failed memory locking requested for elasticsearch process but memory is not locked
  8. 本地==〉Github(push)
  9. C语言学习<输入输出函数,函数的调用>
  10. hihoCoder#1109 最小生成树三·堆优化的Prim算法