让精灵动起来
来源:互联网 发布:php培训学校 编辑:程序博客网 时间:2024/05/05 11:09
我们来看test代码里面的AnimationTest.java
texture = new Texture(Gdx.files.internal("data/walkanim.png"));
TextureRegion[] leftWalkFrames = TextureRegion.split(texture, 64, 64)[0];
TextureRegion[] rightWalkFrames = new TextureRegion[leftWalkFrames.length];
for (int i = 0; i < rightWalkFrames.length; i++) {
TextureRegion frame = new TextureRegion(leftWalkFrames[i]);
frame.flip(true, false);
rightWalkFrames[i] = frame;
}
leftWalk = new Animation(0.25f, leftWalkFrames);
rightWalk = new Animation(0.25f, rightWalkFrames);
获取图资源,然后构造动画。new Animation(0.25f, leftWalkFrames);
public void render () {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
for (int i = 0; i < cavemen.length; i++) {
Caveman caveman = cavemen[i];
TextureRegion frame = caveman.headsLeft ? leftWalk.getKeyFrame(caveman.stateTime, true) : rightWalk.getKeyFrame(
caveman.stateTime, true);
batch.draw(frame, caveman.pos.x, caveman.pos.y);
}
batch.end();
for (int i = 0; i < cavemen.length; i++) {
cavemen[i].update(Gdx.graphics.getDeltaTime());
}
fpsLog.log();
}
cavemen[i].update(Gdx.graphics.getDeltaTime()); 函数进行更新时间戳和位置坐标
leftWalk.getKeyFrame(caveman.stateTime, true) 依据时间更新获取第几帧动画,
batch.draw(frame, caveman.pos.x, caveman.pos.y); 描画出来。
这样看起来,动画也是非常简单的了。
frame.flip(true, false); 接口为翻转属性。
texture = new Texture(Gdx.files.internal("data/walkanim.png"));
TextureRegion[] leftWalkFrames = TextureRegion.split(texture, 64, 64)[0];
TextureRegion[] rightWalkFrames = new TextureRegion[leftWalkFrames.length];
for (int i = 0; i < rightWalkFrames.length; i++) {
TextureRegion frame = new TextureRegion(leftWalkFrames[i]);
frame.flip(true, false);
rightWalkFrames[i] = frame;
}
leftWalk = new Animation(0.25f, leftWalkFrames);
rightWalk = new Animation(0.25f, rightWalkFrames);
获取图资源,然后构造动画。new Animation(0.25f, leftWalkFrames);
public void render () {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
for (int i = 0; i < cavemen.length; i++) {
Caveman caveman = cavemen[i];
TextureRegion frame = caveman.headsLeft ? leftWalk.getKeyFrame(caveman.stateTime, true) : rightWalk.getKeyFrame(
caveman.stateTime, true);
batch.draw(frame, caveman.pos.x, caveman.pos.y);
}
batch.end();
for (int i = 0; i < cavemen.length; i++) {
cavemen[i].update(Gdx.graphics.getDeltaTime());
}
fpsLog.log();
}
cavemen[i].update(Gdx.graphics.getDeltaTime()); 函数进行更新时间戳和位置坐标
leftWalk.getKeyFrame(caveman.stateTime, true) 依据时间更新获取第几帧动画,
batch.draw(frame, caveman.pos.x, caveman.pos.y); 描画出来。
这样看起来,动画也是非常简单的了。
frame.flip(true, false); 接口为翻转属性。
0 0
- 让精灵动起来
- 【WiEngine 游戏引擎】基础(2)让精灵动起来
- 让下划线动起来
- 让位图动起来!
- 让大脑动起来
- 让动画动起来
- 让cube动起来
- 让图片动起来
- DEM:让ERP动起来
- 让照片真正动起来
- 让google map 动起来
- 线程------让画面动起来
- Flex 让组件动起来
- 让 Angular 应用动起来!
- 5.让场景动起来
- Quick cocos2dx-Lua(V3.3R1)学习笔记(5)----让精灵动起来吧,使用序列帧动画
- UnityShader学习笔记(七) 让贴图纹理动起来(河流瀑布特效、精灵序列帧实现)
- 让你的网页文字动起来。。。
- 聊天工具的架构分析
- hibernate联合主键(转)
- 查询媒体数据库
- GG在win上基于Sqlserver的安装
- MySQL的基本语句
- 让精灵动起来
- JS 操作JSON
- 程序员/设计师能用上的 75 份速查表
- alfresco安装配置笔记
- ADO.NET中数据操作浅述
- html页面打印request中的参数值
- 51单片机开发系列四_LED点阵扫描显示
- Android源码学习笔记1-短信发送流程分析
- 《魔兽世界插件》教程—21点扑克游戏 Blackjack