`
macken
  • 浏览: 346162 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

libgdx实例metagun代码分析(三)

    博客分类:
  • game
阅读更多

继续接上篇 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)实现了只需要保存一个方向的图片即可。

 

 

  • 大小: 4.2 KB
分享到:
评论

相关推荐

    android游戏引擎libGDX 实例和源码MyFirstTriangle_20110221,很不错的,强烈推荐

    android游戏引擎libGDX 实例和源码3,很不错的,强烈推荐:MyFirstTriangle_20110221.zip

    android游戏引擎libGDX 实例和源码ProjectionViewportCamera_20110305,很不错的,强烈推荐

    android游戏引擎libGDX 实例和源码4,很不错的,强烈推荐:ProjectionViewportCamera_20110305.zip

    android游戏引擎libGDX 实例MeshColorTexture_20110222和源码2,很不错的,强烈推荐

    通过分析代码,你可以了解如何初始化和管理Mesh对象,如何加载和应用颜色纹理,以及如何在Shader中处理这些数据。此外,还可以学习libGDX的生命周期管理和多平台兼容性处理。 总结来说,"MeshColorTexture_20110222...

    Libgdx入门-代码1

    Libgdx是一款基于OpenGL ES技术开发的Android游戏引擎,支持Android平台下的2D和3D游戏开发,2D物理引擎采用Box2D实现。单就性能角度来说,堪称是一款非常强大的Android游戏引擎,但缺陷在于精灵类等相关组件在使用...

    libgdx-demo-metagun:Libgdx 演示 --metagun

    通过分析 "libgdx-demo-metagun-master" 中的源代码,可以深入了解 Libgdx 的使用方法。此外,官方文档、社区论坛以及各种教程资源都是学习 Libgdx 的宝贵资料。 7. **优化与性能**: Libgdx 提供了性能监控工具...

    android游戏引擎libGDX 实例和源码gdx-helloworld-0.9.1,很不错的,强烈推荐

    通过学习和分析这个实例,你可以了解如何设置项目结构、创建屏幕、处理输入、渲染图形以及如何在不同平台上运行游戏。这将为你后续的LibGDX游戏开发打下坚实的基础。如果你对某个特定方面有深入的兴趣,例如2D渲染、...

    Libgdx入门-代码2

    Libgdx是一款基于OpenGL ES技术开发的Android游戏引擎,支持Android平台下的2D和3D游戏开发,2D物理引擎采用Box2D实现。单就性能角度来说,堪称是一款非常强大的Android游戏引擎,但缺陷在于精灵类等相关组件在使用...

    实例代码 学习libgdx - SpriteBatch

    这个实例代码是学习如何使用libGDX中的SpriteBatch类的宝贵资源。 1. **SpriteBatch的介绍** SpriteBatch是libGDX用于批量绘制2D图像的工具。它的核心功能是减少OpenGL调用的次数,通过将多个绘制操作合并到一起,...

    libgdx经典游戏实例源码

    《libgdx经典游戏实例源码——男人下一百层》 Libgdx 是一款强大的开源游戏开发框架,专为跨平台游戏设计,支持Android、iOS、HTML5以及桌面平台。这个压缩包包含的是一个名为“Super Jumper”的经典游戏源码,它是...

    使用Libgdx模仿智龙迷城三消demo

    使用Libgdx模仿智龙迷城三消demo,只是实现智龙迷城的三消形式

    Libgdx 跨平台游戏开发手册 的示例代码_java_代码_下载

    本手册的示例代码主要基于Java编程语言,旨在帮助开发者深入理解Libgdx的功能和用法。 首先,让我们来探讨Libgdx的核心组件: 1. **Stage**: Libgdx的舞台(Stage)是处理用户输入和渲染2D图形的主要组件。开发者...

    Libgdx版本FlappyBird

    《Libgdx版本FlappyBird:使用Libgdx引擎创建移动游戏》 Libgdx是一个强大的开源游戏开发框架,专为跨平台游戏设计,支持Windows、Linux、Mac OS X、Android以及HTML5等多个平台。本项目"Libgdx版本FlappyBird"是一...

    一个libgdx下box2d的使用实例

    一个libgdx下box2d的使用实例 包括box2d刚体创建,碰撞已经刚体和texture的绑定

    Android代码-libgdx-0.9.zip

    在压缩包中的"libgdx-0.9.6"可能包含了LibGDX 0.9.6版本的源代码、库文件、文档和示例项目。通过这些内容,开发者可以深入理解框架的工作原理,学习如何在早期版本中使用LibGDX来构建游戏。 学习和使用LibGDX,不仅...

    libgdx游戏

    "demo 例子"意味着压缩包可能包含了演示如何使用LibGDX开发游戏的示例代码。例如,"BalanceBall"可能是一个基于Box2D的平衡球游戏,玩家需要控制一个球在各种复杂地形上滚动,避免掉落。 - **物理模拟**:...

    libGDX 1.10.0 开发包

    LibGDX 是一个开源的游戏开发框架,主要用于构建跨平台的2D和3D游戏。它为开发者提供了丰富的功能,使得游戏开发变得更加高效和便捷。在提供的"libGDX 1.10.0 开发包"中,包含了以下几个关键组件: 1. **gdx-1.10.0...

    libgdx 粒子编辑器

    此外,可能还有Java或Kotlin源代码,这些代码展示了如何在LibGDX游戏中加载和使用这些粒子效果。 使用LibGDX粒子编辑器的一些关键知识点包括: 1. **粒子系统基础**:理解粒子系统的基本概念,如粒子的生命周期、...

    libGDX 0.98版飞机大战(有源代码,仅供学习)

    本资源提供的是一个基于libGDX 0.98版本的飞机大战游戏的源代码,旨在为初学者提供一个学习和实践的起点。 游戏开发的核心是掌握编程语言和游戏引擎的使用。在libGDX中,主要使用Java进行编程,因此,对Java基础的...

    Libgdx开源游戏 【蚂蚁回家】libgdx实现

    通过分析《蚂蚁回家》这款游戏,开发者不仅能学习到如何使用Libgdx构建游戏,还能了解到游戏设计和编程的最佳实践。同时,由于游戏是开源的,所以对于初学者来说,这是一个很好的学习和模仿的实例,有助于提升游戏...

    LibGDX Lua Tutorial工程

    在LibGDX中,可以通过使用第三方库如 Corona 或 LuaJ 来嵌入Lua。Lua的使用可以提高游戏逻辑的编写速度,降低维护成本,同时让非程序员也能参与到游戏内容的制作中。 4. **Lua与LibGDX的集成**: 将Lua集成到...

Global site tag (gtag.js) - Google Analytics