开始学习android游戏开发也有一段时间了,挑选libgdx这个游戏引擎来进行学习和开发。Libgdx是一款支持2D与3D游戏开发的游戏类库,并且它是夸平台的。例如你可以在windos下开发,同样的代码也可以运行在android上。
刚开始学习这个游戏引擎可能会感觉无从下手,从看该引擎作者提供的DEMO 然后仿照写是个不错的方法。从SVN地址:http://libgdx.googlecode.com/svn/trumk 下载到 cuboc 这个例子。打开后有两个项目 一个是cuboc 一个是cuboc-android,其实我们发现 这两个项目是关联的cuboc-android 用的也是cuboc里的代码。
运行游戏后是一个类似采蘑菇的游戏,下面我们看下cuboc-android\assets\data下的资源文件是如何在代码中使用,怎么构建的整个游戏屏幕的
打开com.badlogic.cubocy.screens 这个包,下面定义了几个屏幕类,其中GameScreen 就是游戏主屏幕了。用到了Map MapRenderer OnscreenControlRenderer 这三个类。
我们先看下 Map,用到了data/levels.png 这张图片,这是一个地图模型,游戏地图就是根据这个绘制的,黑色部分就是通道,还有红色的(0xff0000)复活点 出口(0xff00ff)等等,Map ()构造函数中 根据判断某个像素点的 rgp 在该位置 生成相关的东西。
接着是MapRenderer,这是是地图的渲染类。下面的代码是加载资源,生成相关的动画。 在libgdx 的图片长宽必须是2的整次幂,不然会报错。可以用http://zwoptexapp.com/flashversion 这个网站快速的把图片生成这样的尺寸
// 获取资源 生成动画
private void createAnimations() {
// 地图的方块单元 取tile.png的 20 ,20
this.tile = new TextureRegion(new Texture(
Gdx.files.internal("data/tile.png")), 0, 0, 20, 20);
// 载入 资源图片 主角动作分解图 等效果资源
Texture bobTexture = new Texture(Gdx.files.internal("data/bob.png"));
// [0] 表示只取第一行
TextureRegion[] split = new TextureRegion(bobTexture).split(20, 20)[0];
// 镜子 做一个翻转 区分 左移 还是右移
TextureRegion[] mirror = new TextureRegion(bobTexture).split(20, 20)[0];
for (TextureRegion region : mirror)
region.flip(true, false);// 只根据X轴翻转
// 找到第六个 钉子的资源
spikes = split[5];
bobRight = new Animation(0.1f, split[0], split[1]);
bobLeft = new Animation(0.1f, mirror[0], mirror[1]);
bobJumpRight = new Animation(0.1f, split[2], split[3]);
bobJumpLeft = new Animation(0.1f, mirror[2], mirror[3]);
bobIdleRight = new Animation(0.5f, split[0], split[4]);
bobIdleLeft = new Animation(0.5f, mirror[0], mirror[4]);
bobDead = new Animation(0.2f, split[0]);
// 第二行得资源
split = new TextureRegion(bobTexture).split(20, 20)[1];
// 立方体的资源
cube = split[0];
// 立方体 固定时的动画
cubeFixed = new Animation(1, split[1], split[2], split[3], split[4],
split[5]);
// 第三行
split = new TextureRegion(bobTexture).split(20, 20)[2];
// 立方体 受控制时的资源
cubeControlled = split[0];
// 主角重生动画
spawn = new Animation(0.1f, split[4], split[3], split[2], split[1]);
// 主角死亡动画
dying = new Animation(0.1f, split[1], split[2], split[3], split[4]);
// 重生点
dispenser = split[5];
split = new TextureRegion(bobTexture).split(20, 20)[3];
// 火箭动画
rocket = new Animation(0.1f, split[0], split[1], split[2], split[3]);
// 火箭诞生点
rocketPad = split[4];
split = new TextureRegion(bobTexture).split(20, 20)[4];
// 爆炸动画
rocketExplosion = new Animation(0.1f, split[0], split[1], split[2],
split[3], split[4], split[5]);
split = new TextureRegion(bobTexture).split(20, 20)[5];
// 出口
endDoor = split[2];
// 移动的钉子
movingSpikes = split[0];
// 激光
laser = split[1];
}
可以看到人物动作其实就是 根据动作分解图生成Animation,在合适的时候播放动画,并不停的改变其位置。看起来就是在行走了。
根据这些。。我们就可以去试着画地图,还有会动的人物了。附件中 是cuboc demo。
分享到:
相关推荐
android游戏引擎libGDX 实例和源码4,很不错的,强烈推荐:ProjectionViewportCamera_20110305.zip
android游戏引擎libGDX 实例和源码3,很不错的,强烈推荐:MyFirstTriangle_20110221.zip
总的来说,LibGDX作为一款成熟的Android游戏开发引擎,为开发者提供了全面的游戏开发解决方案,从图形渲染到物理模拟,再到资源管理,几乎覆盖了游戏开发的所有环节。通过掌握LibGDX,开发者可以高效地创建出高质量...
这个实例"MeshColorTexture_20110222"是libGDX游戏引擎的一个示例,旨在展示如何在游戏场景中使用Mesh对象和颜色纹理。下面我们将深入探讨libGDX引擎的关键特性,以及Mesh和颜色纹理在游戏开发中的应用。 1. libGDX...
libgdx demo 大全 经典android,完整的官方libgdx的demo,涉及所有模块的一个效果展示,希望能帮助学习libgdx的同学们。
《深入探索Android开源游戏引擎LibGDX:基于源码的小游戏开发详解》 LibGDX,作为一款强大的开源游戏开发框架,为Android游戏开发者提供了丰富的工具集和灵活的架构,使得构建高性能的游戏变得轻而易举。这个压缩包...
1. **Backend**:LibGDX提供了不同平台的后端支持,如Desktop(桌面)、Android、iOS和GWT(用于Web)等,使得开发者无需关注底层平台差异,只需关注游戏逻辑。 2. **LWJGL**:Lightweight Java Game Library是...
在Android Studio中运行LibGDX的Demo,是学习和开发游戏的起点。本文将详细介绍如何在Android Studio中设置和运行这个经过验证的LibGDX Demo。 一、环境准备 首先,确保你已经安装了Android Studio,这是一个基于...
总的来说,`libgdx游戏引擎android平台jar包`是LibGDX框架在Android平台上运行的必备组件。通过这两个库,开发者可以利用LibGDX的强大功能,轻松地开发出高性能、跨平台的游戏应用。无论是初学者还是经验丰富的...
Java 游戏, 用libgdx引擎Java 游戏, 用libgdx引擎Java 游戏, 用libgdx引擎 Java 游戏, 用libgdx引擎Java 游戏, 用libgdx引擎Java 游戏, 用libgdx引擎 Java 游戏, 用libgdx引擎Java 游戏, 用libgdx引擎Java ...
在Android游戏开发中,使用游戏引擎libgdx可以极大地提高开发效率和游戏性能。本案例主要讲解如何在libgdx中实现资源加载进度的百分比显示,这对于大型游戏来说尤其重要,因为它能让用户了解游戏的加载状态,提升...
《使用libgdx引擎开发游戏:深度探索Cuboc Demo》 libgdx是一个强大的开源游戏开发框架,专为跨平台游戏设计,支持Windows、Linux、Mac OS X、Android以及HTML5等多种平台。它提供了丰富的功能,包括图形渲染、音频...
1.LibGdx的官方Demo 2.使用Eclipse编译 3.包含各种一般的使用示例
本项目是基于 LibGDX 的一个基础演示(Demo),旨在帮助初学者快速理解和入门游戏引擎的使用。 ### 1. LibGDX 框架核心组件 LibGDX 提供了以下几个关键组件: - **Stage**: 用于组织游戏中的图形元素,如精灵、...
libgdx是一款功能强大的2D游戏引擎,也支持Android平台,采用OpenGL ES和Box2D。其3D图形处理能力突出,但精灵类的使用相对复杂,文档也相对有限。 6. **jPCT** jPCT是一款跨平台的3D图形引擎,支持标准OpenGL和...
libgdx游戏引擎开发文档,游戏开发学习文档。
libGDX游戏引擎官网地址 What's libGDX? libGDX is a cross-platform Java game development framework based on OpenGL (ES) that works on Windows, Linux, Mac OS X, Android, your WebGL enabled browser and ...
《深入剖析Android游戏开发框架LibGDX》 LibGDX是一个强大的开源跨平台游戏开发框架,主要用于构建桌面、Android、iOS以及HTML5等多平台的游戏应用。本篇将围绕"安卓Android源码——libgdx-0.9.6.zip"进行深度解析...