【v2.x OGE-example 第三节 播放精灵动画】
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: 动画播放结束");
}
}
【v2.x OGE-example 第三节 播放精灵动画】的更多相关文章
- 【v2.x OGE教程 11】 动画编辑器帮助文档
] 动画编辑器帮助文档 版本号 日期 作者 说明 1.0 2014-9-3 橙子游戏 文档创建 一.简单介绍 动画编辑器用于游戏动画的可视化编辑,支持序列帧动画和关键帧动画.通过解析生成的 ...
- SpriteSheet精灵动画引擎
SpriteSheet精灵动画引擎 本文介绍Flash中SpriteSheet精灵序列图与其它渲染方式的性能对比.SpriteSheet的原理及注意实现,最后实现了一个精灵序列图的渲染引擎.本文的 ...
- css精灵动画
精灵动画的实现 CSS Sprites在国内很多人叫CSS精灵,其实这个技术不新鲜,原理就是:靠不断的切换图片让人感觉视觉上不断在变化,例如gif动画之类的效果 那么前端如何实现精灵效果? 传统的就是 ...
- 精灵动画Animation对话框组成Idle动画的各精灵
精灵动画Animation对话框组成Idle动画的各精灵 1.3 精灵动画 场景中已经添加了精灵,现在是时候让让它动起来了.读者也许已经从精灵图集中,各精灵的命名中看出来了,这个精灵一共有两种动画状 ...
- Unity3D ShaderLab 模拟精灵动画
Unity3D ShaderLab 模拟精灵动画 在上一篇,介绍了通过Shader 模拟纹理运动,那么更深一步讲,我们也可以把帧动画的精灵纹理运动通过shader实现. 虽然大家都是在游戏脚本中做更高 ...
- 《Genesis-3D开源游戏引擎完整实例教程-2D射击游戏篇01:播放序列动画》
1.播放序列动画 系列动画播放概述 2D游戏中的动画系统,不同于3D游戏.3D游戏中,角色美术资源不仅包含角色模型的,还包括角色的贴图和动作等,模型本身自带角色的动作动画效果.2D游戏中,角色美术资源 ...
- Unity中的动画系统和Timeline(2) 按钮动画和2D精灵动画
按钮动画 1 创建按钮后,按钮的Button组件中,Transition我们平时用的时Tint,这次选择Animation 选择Auto Generate Animation,创建一个按钮动画 2 后 ...
- 3D网页小实验-基于多线程和精灵动画实现RTS式单位行为
一.实验目的: 1.在上一篇的"RTS式单位控制"的基础上添加逻辑线程,为每个单位实现ai计算: 2.用精灵动画为单位的行为显示对应的动作效果. 二.运行效果: 1.场景中的单位分 ...
- 原创:CSS3技术-雪碧图自适应缩放与精灵动画方案
花了一个礼拜完成了慕课网定制的七夕主题效果,其中有一个没实现好的功能,就是雪碧图的自适应缩放 ps: 以下实现都是基于移动端的处理 原图如下: 人物是采用的是雪碧图,通过坐标绝对数据取值 问题很明显, ...
随机推荐
- linux 配置Java、Mysql、Tomcat、Redis开发环境
1.安装四个依赖 以下四个依赖必须按顺序联网安装:yum install glibc.i686yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so ...
- 卸载钩子 UnhookWindowsHookEx
The UnhookWindowsHookEx function removes a hook procedure installed in a hook chain by the SetWindow ...
- win7 命令行禁用开启usb存储
禁用: reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstor" /v Start /t reg ...
- vue列表排序实现中的this问题
最近在看vue框架的知识,然后其中有个例子中的this的写法让我很疑惑 <!DOCTYPE html> <html> <head> <meta charset ...
- P2347 砝码称重(动态规划递推,背包,洛谷)
题目链接:P2347 砝码称重 参考题解:点击进入 纪念我第一道没理解题意的题 ''但不包括一个砝码也不用的情况'',这句话我看成了每个砝码起码放一个 然后就做不出来了 思路: 1.这题数据很小,10 ...
- 小甲鱼Python学习笔记
一 isdigit()True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字False: 汉字数字Error: 无 isdecimal()True: Unicode数字, ...
- impdp导入
//导入命令impdp 用户/密码@数据库链接 directory=数据库中映射路径 schemas=原用户 remap_schema=原用户:现用户 remap_tablespace=原表空间:现表 ...
- 如何自己实现session功能
session字如其意,它的存在就是为了保持会话状态.PHP中的$_SESSION让我们很方便的使用它,但是如果PHP本身不提供这个功能,我们该如何实现呢?且听我慢慢忽悠. session的实现原理 ...
- buf.indexOf()
buf.indexOf(value[, byteOffset][, encoding]) value {String} | {Buffer} | {Number} byteOffset {Number ...
- 当java web项目部署到服务器上时,无法将图片等媒体文件保存到服务器的最终奥义
今天,我在部署web项目至云服务器上(Tomcat8.0)时,突然发现我的应用,无法上传图片,视频等多媒体文件了,一再检查自己的代码逻辑没有问题之后,逐一排查,首先想到的就是看一下控制台打印的日志,日 ...