尊重作者劳动,转载时请标明文章出处。

作者: Bugs Bunny

地址: http://www.cnblogs.com/cocos2d-x/archive/2012/05/03/2479469.html

对于一些小游戏来说,规则就是它的全部,这类游戏使用的场景几乎都是随机生成的。比如,俄罗斯方块、泡泡龙、斗地主、水果忍者之类的。

稍微上一些规模的游戏,随机场景可能不满足其游戏难度,这时开发商就会选择使用相对固定的场景。比如,横版过关、角色扮演、战棋、解密游戏等等。

游戏越复杂,要涉及的编辑器就越多,地图编辑器,关卡编辑器,精灵编辑器。。。

其中最基本最常用的就是地图编辑器。

知易的第五篇教程开始讲述关于瓦片地图的内容,其中讲到一个叫做Tiled Map Editor的开源工具。这个工具包括Java/Qt两个版本,因为“Qt版运行起来缺少重要的功能”,所以知易说“至少到目前为止,建议大家使用Java版”。知易的说法是十分严谨的,因为在他发布这份教程的时候,Java版的Tiled Map Editor的版本号是0.7.2,而Qt版只有0.4.0。

然而,两年过去了,Qt版已经更新至0.8.0,而Java版却不再维护了。

The Java version is no longer maintained (unless somebody steps up to do it), but it is still available here since it has a few features that do not exist in the Qt version yet.

根据大家的共识,使用不再维护的工具是不明智的,除非有特殊需要。

正因为Java版包含一些Qt版没有的特性,所以它会被保留到xxxx的那一天。抱歉,我也不确定。

笔者撰写本文的目的是说明Qt版与Java版Tiled Map Editor的主要差别。

这里比较的版本为Qt版0.8.0和Java版0.7.2。你可以从Tiled Map Editor的官网上下载到它们。

http://www.mapeditor.org/

先来整体的看一下这两个版本:

Qt版截图

Java版截图

正如你所看到的,Qt版支持多国语言,默认与当前系统一致。为了便于对照,我将其设置为英文界面。

下面我们一项一项开始对比,尽量只选择有差异的地方讲解。

Qt版File菜单 Java版File菜单

1.支持的地图类型

从File菜单来看,它们的功能大致是相同的。那它们都支持哪些地图类型呢?选择New菜单来看一下。

Qt版New Map对话框 Java版New Map对话框

Java版支持Orthogonal(正交,90度)、Isometric(等距,45度)、Hexagonal(六边形),比Qt版多一个Hexagonal,但是要注意这个Hexagonal后面还跟着一个experimental,即实验的。至于实验到了什么程度,我没有用过不做评价,但是可以告诉你,在cocos2d-x中,这个Hexagonal地图是支持的。

2.支持的文件格式

这两版工具分别支持哪些文件格式也是我们需要知道的。

文件格式(导入) Qt版 Java版
Tiled map files (*.tmx)
Droidcraft map files (*.dat)  
Json files (*.json)  
Tiled Maps files (*.tmx.gz)  
Mappy Reader (*.fmp)  
文件格式(导出) Qt版 Java版 备注
Tiled map files (*.tmx)  
Droidcraft map files (*.dat)    
Flare map files (*.txt)    
Json files (*.json) Java版里叫JSON map writer (*.js, *.js.gz)
Lua files (*.lua)  
T-Engine4 map files (*.lua)    
TMW-eAthena collision files (*.wlk) Java版里叫The Mana World exporter (*.wlk)
Tiled Maps files (*.tmx.gz)    
Mappy Writer (*.map)   奇怪,导入与导出的后缀名不一样!

除了.tmx文件外,这两个版本都支持其他格式,但支持的内容不尽相同。这是为什么呢?

原来Tiled Map Editor是支持插件的,表格中.tmx/.tmx.gz以外的格式都是由插件导入的。这大概是为了做MOD什么的吧,反正我们用不上。

需要指出的是,在Qt版中,要使用插件进行导出时,要使用File菜单下的Export As命令,在Java版里是Save As命令。

3.地图的辅助编辑

Qt版Edit菜单 Java版Edit及Select菜单

(1)首先两版编辑器都支持撤销与重做操作,但是Qt版支持历史记录,而在Java版中笔者未找到这个功能。

(2)Qt版仅支持全选和取消选择,Java版多一个反选的功能。反选这个功能,有些人是比较喜欢的,比如我,整理磁盘文件时经常用。

(3)翻转功能,编辑器软件的标配,Qt版不支持真是遗憾,希望作者将来加入这个功能。

(4)Java版支持笔刷设置,在绘制双层墙壁什么的时候,有一个大的笔刷会事半功倍,希望Qt版能加入这个功能。

提示:在Qt版中,可以使用矩形选择工具配合复制粘贴来模拟大尺寸的矩形笔刷,对于圆形笔刷,暂时无法模拟。在使用这个方法的时候,注意不要开启笔刷的随机模式。

(5)两版编辑器都支持随机笔刷,但使用方法和功能都不一样。

Qt版:选择工具栏中的图章刷,并按下随机模式按钮。接着在图块窗口内选择希望随机的图块集合,支持框选、Ctrl+鼠标左键点选、Shift+鼠标左键范围选取。然后就可以在绘图区绘制了。Qt版中的随机是指,从选取的图块集合中随机选择图块绘制到地图上。

Java版:在笔刷设置中勾选Random选项,后面的slider bar表示随机的概率。Java版中的随机是指,笔刷是否绘制内容到地图上。滑块越靠右,绘制上的几率就越大。

4.首选项

Qt版首选项 Java版首选项

首选项中最重要的功能就是可以设置导出文件中的编码格式。

注意,到目前为止,cocos2d-1.0.1-x-0.13.0-beta中的TMX tile map: Only base64 and/or gzip/zlib maps are supported.

所以,在Qt版中,请确保"Store tile layer data as:"的选项是"Base64"开头的那三个之一,在Java版中,至少要保证"Layer Options"下的"Use binary encoding"是选中的。

否则,编辑器保存的地图文件,cocos2d-x不认。

一般来说,为了节省空间,压缩选项也是要选上的。

5.嵌入的图片

你可能已经注意到,在Java版的首选项中,"Tileset Options"下有一个"Embed images (png)"选项。

是的,Tiled Map Editor可以把图块嵌入到地图文件中。但是,cocos2d-x不支持这种内嵌了图块的地图文件。

这个选项仅对通过"Tileset Manager"手工创建的图块集起作用。

不论是制作效率还是运行效率,你都不会需要这种地图的,让我们无视它吧。

6.调整地图大小

Qt版Resize对话框 Java版Resize Map对话框

可以看到,Qt版的调整地图大小是可视化的,操作很直观,不易出错。

7.地图的剪辑选择(仅Qt版)

当你只想保留地图上的一部分时,剪辑选择是一个不错办法。先选中要保留的地图区域,然后执行"Crop to Selection"(剪辑选择),一切就都搞定了。

8.挪动地图(仅Qt版)

这是一个非常酷的功能。你可以对整张地图或者选区进行操作,在四个方向挪动它们,甚至允许滚动地图。

9.物件支持

Qt版Layer菜单 Java版Layer菜单

最后要介绍的这个功能,在Qt版里叫做物件层,在Java版里叫做物件组。

实话实说,我还没有尝试过这个功能的用途,所以仅从编辑器的层面上来比较它们。

(1)Qt版支持多边形物件;Java版仅支持矩形物件。

(2)Qt版可以在像素级别摆放物件;Java版的精度仅达到Tile级。

(3)Qt版的物件操作效率很高;不知是Tile级精度的问题,还是JVM效率的问题,Java版添加物件后真的有些卡。

小结

抛开对六边形Tile的支持、翻转操作以及笔刷设置这3点,我认为Qt版基本上算是大获全胜的。你是怎么认为的呢?

Tiled Map Editor(瓦片地图编辑器)的Java和QT版本区别相关推荐

  1. Tiled Map(瓦片地图)

    Tiled Map(瓦片地图) Legendof19912014-06-12 14:57:28383 次阅读 Tiled Map(瓦片地图)编辑器的使用,详见:http://blog.csdn.net ...

  2. html5地图编辑器,Tiled地图编辑器 Tiled Map Editor 的使用(一)基础功能+地形功能...

    看了很久关于 Tiled Map Editor 相关资料,但是网上的东西相对太少了,多日整理之后重新写一份吧 一方面是对自己学习的总结 另外也是和想入门的人做个分享. 首先是官网下载地址 http:/ ...

  3. Tiled地图编辑器 Tiled Map Editor 的使用(一)基础功能+地形功能

    看了很久关于 Tiled Map Editor 相关资料,但是网上的东西相对太少了,多日整理之后重新写一份吧 一方面是对自己学习的总结 另外也是和想入门的人做个分享. 首先是官网下载地址   http ...

  4. 【日常点滴016】python游戏库arcade结合Tiled map editor地图编辑器和Pymunk物理引擎制作游戏过程记录,并最终打包为exe文件

    独此一家,建议收藏 前言 一.创建一个空白窗口 step001.py代码示例 二.创建很多全局能用的常量 step002.py代码示例 三.创建实例变量即代表各种精灵等的变量 step003.py代码 ...

  5. Tiled Map Editor 地图编辑器(一)基础功能+地形功能

    看了很久关于 Tiled Map Editor 相关资料,但是网上的东西相对太少了,多日整理之后重新写一份吧 一方面是对自己学习的总结 另外也是和想入门的人做个分享. 本文链接地址: [url]htt ...

  6. tiled素材_瓦片地图 Tiled Map

    瓦片地图(Tiled Map) 瓦片地图(Tile Map) 不但生成简单,并且可以灵活的用于Cocos2d-x引擎.不论你的游戏是角色扮演游戏, 平台动作游戏或仿打砖块游戏,这些游戏地图可以使用开源 ...

  7. Tiled Map Editor libgdx 讲解

    Tiled Map Editor 主页为:http://www.mapeditor.org/,中文基本都翻译为瓦片编辑器,原因便是此工具是将小的碎片拼接在一起,形成一个个地图,因此叫做瓦片编辑器. 工 ...

  8. 【Cocos2d-x游戏引擎开发笔记(13)】Tiled Map Editor(一)

    原创文章,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/8308609 Tiled Map Editor是Cocos2d-x支持的地图编 ...

  9. Tiled Map Editor(一)

    出处:http://blog.csdn.net/zhy_cheng/article/details/8308609 Tiled Map Editor是Cocos2d-x支持的地图编辑器,使用Tiled ...

最新文章

  1. 面试官:为什么在系统中不推荐双写?
  2. 老男孩Linux运维第41期20171016第六周学习重点课堂记录
  3. python中label组件参数_python中连接的组件标签
  4. macappstore登不上去_丈夫在外与多人暧昧,妻子气愤不已,可他却怒怼:这还不都是你逼的...
  5. Win10安装配置CLion+MinGW
  6. python中lstrip函数_python中strip(),lstrip(),rstrip()函数的使用讲解
  7. Android 圆形进度条控件
  8. 《一梦江湖》(原楚留香)游戏拆解分析(一)
  9. dbt(data build tool) is an open source data transformation, and using Jinji templating
  10. 梅特勒托利多xk3124电子秤说明书_托利多电子秤详细说明书
  11. java电商项目搭建-------分布式文件存储系统(fastDFS)
  12. Zotero+onedrive同步问题
  13. golang rabbitMQ 生产者复用channel以及生产者组分发策略
  14. 笔试题之——栈问题(列车车厢编组问题)
  15. 闯荡Linux帝国:nginx的创业故事
  16. Matlab 在图片上画虚线矩形框
  17. [转]科普 | 什么是宽表?
  18. 搜款网新接口的展示过程
  19. 计算机基础实训评分标准,计算机实训考核办法细则.doc
  20. matlab arctan unwrap,atan和unwrap解卷绕

热门文章

  1. java反射消耗性能吗_JAVA反射会降低你的程序性能吗?
  2. 单容水箱液位pid控制实验报告_单容水箱液位过程控制实验报告
  3. Linux cma内存的使用
  4. java打印输出万年历_Java基础之打印万年历的简单实现(案例)
  5. 科技云报道:在线教育下半场,电子合同如何为教育赋能?
  6. 关于如何使用xposed来hook某支付软件
  7. 在微信公众号后台进行基本配置时遇到系统发生错误,请稍后重试、token验证失败、请求URL超时的解决办法
  8. Windchill:客制化角色、生命周期状态
  9. 小程序 蓝牙 NFC WiFi
  10. 企鲸客scrm跟小裂变的功能对比