继续接上篇 http://macken.iteye.com/blog/1816783
写写metagun的图片加载机制
libgdx的坐标系使用的是笛卡尔坐标系,原点位于左下角。由于计算机图形学的历史,图形的渲染基本都是左上角开始,这种渲染方式也比较舒服。因此需要设置一下坐标系的原点为左上角;设置代码
public final void init (Metagun metagun) { this.metagun = metagun; Matrix4 projection = new Matrix4(); projection.setToOrtho(0, 320, 240, 0, -1, 1);//设置坐标原点位于左上角 正常libgdx的坐标位于右下角 spriteBatch = new SpriteBatch(100); spriteBatch.setProjectionMatrix(projection); }
加载图片素材的代码如下
private static TextureRegion[][] split (String name, int width, int height, boolean flipX) { Texture texture = new Texture(Gdx.files.internal(name)); int xSlices = texture.getWidth() / width; int ySlices = texture.getHeight() / height; TextureRegion[][] res = new TextureRegion[xSlices][ySlices]; for (int x = 0; x < xSlices; x++) { for (int y = 0; y < ySlices; y++) { res[x][y] = new TextureRegion(texture, x * width, y * height, width, height); res[x][y].flip(flipX, true);// Y轴翻转 } } return res; }
加载读取图片素材是以左上角为原点,由于之前设置将原点由左下角变更为左上角,对Y坐标进行了翻转,因此在绘图是也需要将图片素材的y坐标进行翻转,因此使用了flip(x,true)函数进行翻转。
人物在地图中可以向左或向右移动,每个方向的人物图片都一样,这里借用对图片进行X轴翻转flip(true,x)实现了只需要保存一个方向的图片即可。
相关推荐
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”的经典游戏源码,它是...
使用Libgdx模仿智龙迷城三消demo,只是实现智龙迷城的三消形式
本手册的示例代码主要基于Java编程语言,旨在帮助开发者深入理解Libgdx的功能和用法。 首先,让我们来探讨Libgdx的核心组件: 1. **Stage**: Libgdx的舞台(Stage)是处理用户输入和渲染2D图形的主要组件。开发者...
《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,不仅...
"demo 例子"意味着压缩包可能包含了演示如何使用LibGDX开发游戏的示例代码。例如,"BalanceBall"可能是一个基于Box2D的平衡球游戏,玩家需要控制一个球在各种复杂地形上滚动,避免掉落。 - **物理模拟**:...
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中,可以通过使用第三方库如 Corona 或 LuaJ 来嵌入Lua。Lua的使用可以提高游戏逻辑的编写速度,降低维护成本,同时让非程序员也能参与到游戏内容的制作中。 4. **Lua与LibGDX的集成**: 将Lua集成到...