libgdx:[35]处理level 数据

2024-10-29 03:22:04

现在是时间思考一下我们该怎么处理level的数据啦,

工具/原料

libgdx

Handling level data 处理level 数据

1、是时候考虑如何构建并展现我们的关卡啦,把对象放到某一个点上,定义开始点,等等。这将意味着在看到实际的结果之前我们有很多的工作要做,很多的工具要被创建,更改,保存,并加载关卡数据。此外,在我们能够真正的加载保存关卡数据前,我们必须定义一个文件格式来描述我们的关卡数据。

2、幸运的这里有一个比较容易的途径来足够简单的获取我们需要的东西。我们不用构建我们自己的关卡编辑器。取而代之我们将会使用一个绘制系统:GNUimagemanipulationprogramGIMP或者paint.NET来绘制画一个图片,图片里有一些像素颜色。 一个颜色对应的代表一种对象,图片中的点同样在游戏中将会处于同样的位置。工作完成,我们只需要定义一个我们的关卡格式重用已经存在的格式,加入我们自己的定义格式来描绘图片中的内容。

libgdx:[35]处理level 数据

3、下面的level的图片让你更好的理解它是怎么工作的

libgdx:[35]处理level 数据

4、既然我们这里使用的是一个不用绘制到屏幕的图片,那么我们就不会把它添加进我们的atlas。因此我们又要遵循power-of-two规则了,所以一定要想着这一点。前面的图片是一个宽128高32像素的图片。为了能够更好的观察我们使用了一个坐标系统覆盖图片。

5、下面的列表是一个颜色对应的相应的对象的定义白色是起点紫色是羽毛黄色是金币绿色是石头黑色部分在游戏中代表的是空的

libgdx:[35]处理level 数据

6、在assets文件夹中创建一个子文件夹命名为:levels ,并复制level-01.png到文件夹中。在那之后添加一个新的常量到Constants类中:public class Constants {// Visible game world is 5 meters widepublic static final float VIEWPORT_WIDTH = 5.0f;// Visible game world is 5 meters tallpublic static final float VIEWPORT_HEIGHT = 5.0f;// Location of description file for texture atlaspublic static final String TEXTURE_ATLAS_OBJECTS ="images/canyonbunny.pack";// Location of image file for level 01public static final String LEVEL_01 = "levels/level-01.png";}这些包括了我们的level的准备工作,level数据的加载将在下一部分中进行讲解。

libgdx:[35]处理level 数据
猜你喜欢