`

android 游戏引擎libgdx demo cuboc分析

阅读更多
  开始学习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。
  
分享到:
评论
1 楼 张红飞 2012-08-09  
怎么呢的代码不能用呢

相关推荐

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

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

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

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

    android游戏引擎 libgdx

    总的来说,LibGDX作为一款成熟的Android游戏开发引擎,为开发者提供了全面的游戏开发解决方案,从图形渲染到物理模拟,再到资源管理,几乎覆盖了游戏开发的所有环节。通过掌握LibGDX,开发者可以高效地创建出高质量...

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

    这个实例"MeshColorTexture_20110222"是libGDX游戏引擎的一个示例,旨在展示如何在游戏场景中使用Mesh对象和颜色纹理。下面我们将深入探讨libGDX引擎的关键特性,以及Mesh和颜色纹理在游戏开发中的应用。 1. libGDX...

    libgdx demo 大全

    libgdx demo 大全 经典android,完整的官方libgdx的demo,涉及所有模块的一个效果展示,希望能帮助学习libgdx的同学们。

    android 开源游戏引擎libgdx做的小游戏源码

    《深入探索Android开源游戏引擎LibGDX:基于源码的小游戏开发详解》 LibGDX,作为一款强大的开源游戏开发框架,为Android游戏开发者提供了丰富的工具集和灵活的架构,使得构建高性能的游戏变得轻而易举。这个压缩包...

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

    1. **Backend**:LibGDX提供了不同平台的后端支持,如Desktop(桌面)、Android、iOS和GWT(用于Web)等,使得开发者无需关注底层平台差异,只需关注游戏逻辑。 2. **LWJGL**:Lightweight Java Game Library是...

    androidstudio可运行libgdx的demo

    在Android Studio中运行LibGDX的Demo,是学习和开发游戏的起点。本文将详细介绍如何在Android Studio中设置和运行这个经过验证的LibGDX Demo。 一、环境准备 首先,确保你已经安装了Android Studio,这是一个基于...

    libgdx游戏引擎android平台jar包

    总的来说,`libgdx游戏引擎android平台jar包`是LibGDX框架在Android平台上运行的必备组件。通过这两个库,开发者可以利用LibGDX的强大功能,轻松地开发出高性能、跨平台的游戏应用。无论是初学者还是经验丰富的...

    Java 游戏, 用libgdx引擎.zip

    Java 游戏, 用libgdx引擎Java 游戏, 用libgdx引擎Java 游戏, 用libgdx引擎 Java 游戏, 用libgdx引擎Java 游戏, 用libgdx引擎Java 游戏, 用libgdx引擎 Java 游戏, 用libgdx引擎Java 游戏, 用libgdx引擎Java ...

    Android 游戏引擎libgdx 资源加载进度百分比显示案例分析

    在Android游戏开发中,使用游戏引擎libgdx可以极大地提高开发效率和游戏性能。本案例主要讲解如何在libgdx中实现资源加载进度的百分比显示,这对于大型游戏来说尤其重要,因为它能让用户了解游戏的加载状态,提升...

    libgdx引擎开发的游戏

    《使用libgdx引擎开发游戏:深度探索Cuboc Demo》 libgdx是一个强大的开源游戏开发框架,专为跨平台游戏设计,支持Windows、Linux、Mac OS X、Android以及HTML5等多种平台。它提供了丰富的功能,包括图形渲染、音频...

    LibGdx的官方Demo

    1.LibGdx的官方Demo 2.使用Eclipse编译 3.包含各种一般的使用示例

    libgdx demo

    本项目是基于 LibGDX 的一个基础演示(Demo),旨在帮助初学者快速理解和入门游戏引擎的使用。 ### 1. LibGDX 框架核心组件 LibGDX 提供了以下几个关键组件: - **Stage**: 用于组织游戏中的图形元素,如精灵、...

    开源的android游戏引擎介绍

    libgdx是一款功能强大的2D游戏引擎,也支持Android平台,采用OpenGL ES和Box2D。其3D图形处理能力突出,但精灵类的使用相对复杂,文档也相对有限。 6. **jPCT** jPCT是一款跨平台的3D图形引擎,支持标准OpenGL和...

    libgdx游戏引擎API

    libgdx游戏引擎开发文档,游戏开发学习文档。

    Android代码-libGDX-Android-AppEffect

    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-0.9.6.zip

    《深入剖析Android游戏开发框架LibGDX》 LibGDX是一个强大的开源跨平台游戏开发框架,主要用于构建桌面、Android、iOS以及HTML5等多平台的游戏应用。本篇将围绕"安卓Android源码——libgdx-0.9.6.zip"进行深度解析...

Global site tag (gtag.js) - Google Analytics