当前位置:   article > 正文

[转]2d游戏开发:游戏地图编辑器_js实现2d平台游戏地图编辑器

js实现2d平台游戏地图编辑器

2d游戏开发:游戏地图编辑器

 

akinggw 金桥信息 2006-06-15

游戏地图编辑器

 

作者:akinggw

 

朋友们,大家好!

今天,我们将讲解游戏开发中一个重要的工具DD“游戏地图编辑器”。

几乎任何一款商业游戏都有自己的游戏地图编辑器,不管你是2D游戏,还是3D游戏。当然,2D游戏的地图编辑器和3D游戏的编辑器有很大的不同。我们今天在这里讲解的也是2d游戏编辑器。

在了解2d游戏地图编辑器之前,我们先来了解一下,2d游戏地图是如何构成的。先看一幅照片:

 

 

图注1

看着这么漂亮的一幅图片,你有什么想法呢?

先不要想的太多,其实这幅图片是由一个数组构成的,确确地说是由一幅二维数组构成的。当然可能这个二维数组很大,有的可能有成千上万个数据。

如果光靠在编程中来定义,或是就直接在二维数组上设置。那就非常的不直观,修改起来也比较麻烦,所以游戏开发人员就想到一个好办法。就是写一个工具来设置这些二维数组,这样就直观多了,修改起来也很方便了。

游戏地图编辑器是一个内部工具,一般写一个游戏就要写一个地图编辑器。比较简单,你也可以自己写,可能到后面,我就会写一个游戏地图编辑器。不过现在,我们还是用别人的吧。

下面,我将介绍几款优秀的地图编辑器,不过它们的存储格式都不一样,你要使用它们编辑的地图就必须明白它们的地图格式。当然这是后话,

Let’s Go!

 

Mappy

 

首推的地图编辑器是Mappy,网址为http://www.tilemap.co.uk/mappy.php 。应该说这是最出名的一款地图编辑器了,功能强大,可以编辑2d3d地图(当然3d地图必须遵守贴瓷砖的原则)。现在Mappy已经出现了商业版本,你如果需要一个强悍的工具,或许Mappy正是你所需的。

Mappy保存的地图格式是以FMP为扩展名的,你可能现在有点担心,我应该如何在游戏中使用这个格式的地图呢?不要担心,关于如何在各种游戏平台上导入和显示的程序,已经有人给你写出来了。你现在需要做的就是将这些代码加入到你的程序。

Mappy的截图如下:

 

 

 

图注2

 

Tiled

 

我向大家推荐的第二款地图编辑器是Tiled。这也是一款非常出名的编辑器,但它只能编辑2d地图,万全用java语言写成,小巧玲珑,功能强大。并且免费使用,它的官方网址为:http://mapeditor.org/index.html 

其它,我们就不多说,我们下面来谈谈Tiled保存的地图格式,它保存的地图格式是一个Xml文件。

Xml是一个强大的标志语言,它最大的特点就是可以定义自己的数据类型。而我们的地图文件也是由它定义的。关于Tiled地图的使用,软件的作者并没有讲的太多,只是说很多游戏引擎都已经写好了导入地图的代码。如果你想详细了解Tiled保存的地图格式,你可以写信给他。他自己说的,你可以在网站中找到它的email

软件界面如下:

 

 

 

图注3

TILE STUDIO

 

 TILE STUDIO,以下简称TS。是我们要介绍的第三款软件,官方网址:http://tilestudio.sourceforge.net/ 。我认为也是最好的一款软件,为什么说它最好,请听下会分解(开玩笑)。

这个软件和前两个软件的不同之处就是增加了一个瓷砖的编辑功能,也正是因为这个功能,它非常的适合初学者使用,当然也适合程序员使用。

因为上面那两个软件只编辑地图,这意味着你将在其它软件(包括PS,CD等等)中编辑好瓷砖以后,然后再导入地图编辑器中编辑地图,对于正真的美工来说,这也许不算什么,但假如你是程序员呢?那就不那么好办了。所以我强烈推荐这个软件,特别是程序员。

另外这个软件还有一个优点,可以定义自己的地图输出格式。这是一个多么好的功能啊,这意味着我再也不用为那些地图是如何定义而烦心了。我将地图数据定义成一个自己明白的格式,在游戏中使用地图就一目了然了。呵呵……

关于如何定义地图请参考它的教程,在网站上。

以下是TS的界面:

 

 

 

图注4

其它还有几个软件,但功能就要稍微逊色了那么一点,我将他们列在下面:

 

Games Factory Pack 3.1

Open tUME

 

Over!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/1006735
推荐阅读
相关标签
  

闽ICP备14008679号