继续上一篇 http://macken.iteye.com/blog/1816708
这篇写一下metagun的时钟周期
Metagun实现了ApplicationListener接口,程序会调用定时调用render()函数进行渲染
render函数实现
public void render () { Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); accum += Gdx.graphics.getDeltaTime();// 1/60s为 一个时钟 while (accum > 1.0f / 60.0f) { screen.tick(input); input.tick(); accum -= 1.0f / 60.0f; } screen.render(); }
代码中1/60 s为一个时钟,达到一个时钟会调用screen和input的时钟函数tick,使得程序在低端机型和高端机型上的展现速度一样,当然这样的话低端机型的fps会低。
GameScreen类的tick函数实现
public void tick (Input input) { Stats.instance.time++;//时钟周期数 +1 //escape按键 弹出暂停窗口 if (!input.oldButtons[Input.ESCAPE] && input.buttons[Input.ESCAPE]) { setScreen(new PauseScreen(this)); return; } if (!level.player.removed) level.player.tick(input); else if (mayRespawn) { if (input.buttons[Input.SHOOT] && !input.oldButtons[Input.SHOOT]) {//按X 重新开始 respawnRoom();//重新产生当前level层对象 mayRespawn = false; } } level.tick(); Stats.instance.hats = level.player.hatCount; }
GameScreen类是游戏窗口,tick函数在render中被调用,依次更新游戏人物,游戏地图的属性
render()函数中最后调用screen.render()函数将玩家及地图渲染到窗口中,如果是低端机型,会一次性将积累的时钟周期消耗掉然后再进行渲染,极低端配置的机型可能会出现卡或人物位置瞬间变化的情况。
相关推荐
android游戏引擎libGDX 实例和源码3,很不错的,强烈推荐:MyFirstTriangle_20110221.zip
android游戏引擎libGDX 实例和源码4,很不错的,强烈推荐:ProjectionViewportCamera_20110305.zip
通过分析代码,你可以了解如何初始化和管理Mesh对象,如何加载和应用颜色纹理,以及如何在Shader中处理这些数据。此外,还可以学习libGDX的生命周期管理和多平台兼容性处理。 总结来说,"MeshColorTexture_20110222...
Libgdx是一款基于OpenGL ES技术开发的Android游戏引擎,支持Android平台下的2D和3D游戏开发,2D物理引擎采用Box2D实现。单就性能角度来说,堪称是一款非常强大的Android游戏引擎,但缺陷在于精灵类等相关组件在使用...
通过分析 "libgdx-demo-metagun-master" 中的源代码,可以深入了解 Libgdx 的使用方法。此外,官方文档、社区论坛以及各种教程资源都是学习 Libgdx 的宝贵资料。 7. **优化与性能**: Libgdx 提供了性能监控工具...
通过学习和分析这个实例,你可以了解如何设置项目结构、创建屏幕、处理输入、渲染图形以及如何在不同平台上运行游戏。这将为你后续的LibGDX游戏开发打下坚实的基础。如果你对某个特定方面有深入的兴趣,例如2D渲染、...
Libgdx是一款基于OpenGL ES技术开发的Android游戏引擎,支持Android平台下的2D和3D游戏开发,2D物理引擎采用Box2D实现。单就性能角度来说,堪称是一款非常强大的Android游戏引擎,但缺陷在于精灵类等相关组件在使用...
这个实例代码是学习如何使用libGDX中的SpriteBatch类的宝贵资源。 1. **SpriteBatch的介绍** SpriteBatch是libGDX用于批量绘制2D图像的工具。它的核心功能是减少OpenGL调用的次数,通过将多个绘制操作合并到一起,...
《libgdx经典游戏实例源码——男人下一百层》 Libgdx 是一款强大的开源游戏开发框架,专为跨平台游戏设计,支持Android、iOS、HTML5以及桌面平台。这个压缩包包含的是一个名为“Super Jumper”的经典游戏源码,它是...
本手册的示例代码主要基于Java编程语言,旨在帮助开发者深入理解Libgdx的功能和用法。 首先,让我们来探讨Libgdx的核心组件: 1. **Stage**: Libgdx的舞台(Stage)是处理用户输入和渲染2D图形的主要组件。开发者...
libGDX学习记录(二)阶段源码 展示TexturePacker合成的图片,详细地址: https://blog.csdn.net/weixin_47450795/article/details/110037945
《Libgdx版本FlappyBird:使用Libgdx引擎创建移动游戏》 Libgdx是一个强大的开源游戏开发框架,专为跨平台游戏设计,支持Windows、Linux、Mac OS X、Android以及HTML5等多个平台。本项目"Libgdx版本FlappyBird"是一...
一个libgdx下box2d的使用实例 包括box2d刚体创建,碰撞已经刚体和texture的绑定
在压缩包中的"libgdx-0.9.6"可能包含了LibGDX 0.9.6版本的源代码、库文件、文档和示例项目。通过这些内容,开发者可以深入理解框架的工作原理,学习如何在早期版本中使用LibGDX来构建游戏。 学习和使用LibGDX,不仅...
**二、游戏源码分析** "android游戏源码"表明我们拥有的是一个已经实现的Android游戏项目。在源码中,我们可以学习到以下关键点: 1. **主循环**:游戏的核心是主循环,它不断地更新游戏状态、处理输入、渲染画面...
LibGDX 是一个开源的游戏开发框架,主要用于构建跨平台的2D和3D游戏。它为开发者提供了丰富的功能,使得游戏开发变得更加高效和便捷。在提供的"libGDX 1.10.0 开发包"中,包含了以下几个关键组件: 1. **gdx-1.10.0...
此外,可能还有Java或Kotlin源代码,这些代码展示了如何在LibGDX游戏中加载和使用这些粒子效果。 使用LibGDX粒子编辑器的一些关键知识点包括: 1. **粒子系统基础**:理解粒子系统的基本概念,如粒子的生命周期、...
本资源提供的是一个基于libGDX 0.98版本的飞机大战游戏的源代码,旨在为初学者提供一个学习和实践的起点。 游戏开发的核心是掌握编程语言和游戏引擎的使用。在libGDX中,主要使用Java进行编程,因此,对Java基础的...
通过分析《蚂蚁回家》这款游戏,开发者不仅能学习到如何使用Libgdx构建游戏,还能了解到游戏设计和编程的最佳实践。同时,由于游戏是开源的,所以对于初学者来说,这是一个很好的学习和模仿的实例,有助于提升游戏...
libGDX游戏开发入门指南_13845649 高清扫描版