之前发布了个“RPG在线地图编辑器”,深受各开发者喜爱,已经有很多开发者和游戏团队在使用来开发RPG,SLG,RTS,肉鸽类游戏,其中不乏一些游戏大厂团队,甚至还有一些国外开发者在使用。很多开发者咨询我相关的技术并提一些功能需求和改进建议,但是我忙于上班很长一段时间没有更新过这个编辑器,最近从公司离职了,花了3个月时间对这个地图编辑器及地图框架做了一次大升级,功能变得更加方便易用。
地图编辑器地址
https://easymapeditor-1258223435.cos.ap-guangzhou.myqcloud.com/v2.0.0/web-mobile/index.html
新编辑器界面
更新内容:
1、编辑区变得更加开阔,减少了滚动地图区域的频次,鼠标滚轮可以动态缩放编辑区视野。
2、可以上传自定义资源编辑,这样就不需要模板资源摆放了,用自己的游戏资源摆放所见即所得。
3、除了NPC,怪物,传送门外,还新增了场景物体,道具,事件的摆放。这样就可以做更复杂的功能。
4、可以手动新增更多类型值的路点格子,旧版开始只有4个,后面新增到10个,现在可以通过配置按自己的需求新增数量。
5、改版了运行测试游戏地图界面,可以设置指定的不同的寻路条件测试寻路,并加了个导航小地图方便切换区域。
6、新增了个“另存为”按钮,点这个按钮会弹出文件选择窗,把地图文件保存到指定的系统目录,这样就不用每次默认保存到浏览器下载目录再手动拷贝到游戏项目目录了。
7、研发了一套新的寻路算法,命名为“RCA寻路算法”,算法效率远高于“A星寻路”和“跳点寻路”,用于解决其它寻路算法在大地图寻路和多人同时寻路时效率不高的问题。
8、加了个Excel导数据工具,可以导出json和xml和代码脚本,可以多个Excel表单之间做逻辑关联数据导出,减少策划人员和开发者的沟通成本,非常利于大型团队的数据表配置。
9、重构了地图前端框架,针对旧版的一些设计缺陷,让新的框架在设计上更合理。
10、修复了旧版地图框架在做地图切块加载时图块间有缝隙痕迹的bug。
11、地图框架添加了手动控制视野缩放功能,PC端可以鼠标滚轮缩放,手机端可以双触点展开和收缩,手动缩放视野可以查看“全景地图视野”和“局部地图视野”。
12、给地图框架默认新增了拾取场景道具的功能,因为这种功能很多游戏会用到。
13、给地图框架添加了一个UI管理系统,让UI弹窗和扩展变得更加容易。
14、地图框架内默认添加了很多游戏会用到的角色系统,道具系统,商店系统,相关数据和脚本配置用编辑器上携带的Excel导数据工具生成。
15、升级地图框架creator版本,2.0版本升级到2.4.15,3.0版本升级到3.8.6,可在“地图编辑器”的“下载”菜单获取各地图框架版本。
客户端地图框架体验地址
版本:creator v2.4.15
https://easymapeditor-1258223435.cos.ap-guangzhou.myqcloud.com/frameworkdemo/demo_cocos/v2.4.15/web-mobile/index.html
版本:creator v3.8.6
https://easymapeditor-1258223435.cos.ap-guangzhou.myqcloud.com/frameworkdemo/demo_cocos/v3.8.6/web-mobile/index.html
3.8.6只比2.4.15多了战争迷雾功能,其它都一样
地图编辑器如何使用?
地图编辑器默认有一张测试用的地图,开发者可以在这种默认地图测试各个功能。若想编辑自己项目的游戏地图,需按以下步骤操作。
1、新建地图
点击工具栏的新建按钮,在新建界面上点击浏览按钮选自己电脑上的一张游戏背景图,并且按自己的需求设置地图类型和格子宽高,点击确定就可以编辑这张地图了。
2、编辑地图
如下面截图的第四行工具栏,是用来“编辑路点”和“摆放物体”用的,路点类型默认有10种值为(0-9)。物体能摆:NPC,怪,传送们,出生点,场景物体,道具,事件这些放置物体,默认内置了一些模板,可以用这些模板摆放,在属性面板的各属性字段内填不同的值,游戏端用这些数据时可以根据不同的物体属性值初始化成其它物体。如果觉得模板物体不够方便,可以点击“导入编辑资源”按钮上传自己游戏资源和配置文件。
3、导入自己项目的资源编辑
上面提到,用模板资源可能不够方便,这也是很多开发者用“旧版编辑器”时向我提到希望能把他们的项目的资源如:npc,怪,或其它物体放到编辑器里摆放,摆的物体所见即所得,面对海量的摆放物体时显得更方便,所以这次升级我新增了这个功能,开发者可以上传自己的资源到编辑器里,然后拖到场景里摆放。
步骤一
点击工具栏的“导入编辑资源”按钮,或资源列表的“导入资源”按钮,如下图:
点击后会弹出一个规则说明界面。这个界面会说明“如何导入资源”和“资源文件夹的命名规则”,如下图:
步骤二
在本地创建一个文件目录MapEditorAssets,目录下创建资源子目录,每个子目录放不同的编辑资源,只支持图片资源,jpg或png格式,每个资源子目录存放资源类型如下:
1、Presets:里面有个Excel表,做物体预设数据用,类似预制体的功能
2、NPC:放NPC资源
3、Monster:放怪物资源
4、Transfer:放传送门资源
5、SpawnPoint:放出生点资源
6、SceneObject:放场景物体资源,如建筑,树木,石头等…
7、PropObject:放道具资源,可以用来实现场景捡道具功能
8、EventObject:做事件触发用,比如触发机关,触发剧情,触发传送等…
把你的项目的图片资源放到上面指定的各子目录下,然后点击一下界面最下方的“导入资源按钮”选择这个MapEditorAssets文件目录就导入了,如下图:
步骤三
重点说一下“步骤二”提到的预设资源,因为地图编辑器是在线工具,没有预制体,而预制体用于预设一些模型数据很有用,会让编辑变轻松。对应预设的问题,设计了一个Excel文件的预设表,用来给不同资源配置一些预设数据,这样一些资源物体在场景内被创建出来时就用预设数据初始化。
如下图:
预设表把NPC孔雀的objId设置为20004,那么每次创建这个npc出来,objId就是20004,不用每次手动输入,非常方便。
新增路点值类型
地图编辑器默认了10种路点,值为0-9,如果觉得不够用,可以在预设表里新增。
新增的key值是路点值字段,如果路点值在编辑器已经存在,那么相关的属性会覆盖,如果不存在就新增,如下图:
文件保存
地图数据编辑完成就可以保存数据了,可以点击保存按钮,地图数据会保存到浏览器的下载目录。新版地图编辑器新增了个“另存为”按钮,可以打开“文件目录选择窗口”把地图数据保存到指定的目录,你可以直接选你游戏项目地图文件存放目录,这样可以减少文件的二次拷贝。另存为功能目前确定“Edge浏览器”和“谷哥浏览器”能用,如果你用的第三方浏览器不支持就改用这两个浏览器吧。
下载客户端地图框架运行地图
地图数据保存之后,需要地图客户端框架来运行,这个框架也就是你用来开发游戏的框架,需要点击“下载”菜单,在下拉列表中选合适你的一个客户端框架版本运行这个地图。
比如下图中,下载了一个“creator3.8.6基础版”的客户端框架。
用creator3.8.6打开这个项目,项目的resources目录下有个map目录,目录下有两个子目录bg和data,把你的游戏背景图和编辑的地图数据分别放到这个两个目录下。如下图:
在项目的Main脚本里的 loadMap 函数第一个参数填入你的地图文件名,点击运行就跑起来了。第二个参数是选择单张地图加载还是切块加载,如果选切块加载需要用切图工具把背景图且成指定大小的块,切图工具在编辑器菜单有下载。
这个基础框架功能比较少,比如没有跳转地图功能,要比较完整的地图功能需要在下载菜单下载“高级框架”,“高级框架”是功能比较完整的框架,几乎囊括了游戏地图开发中用到的功能。
Excel导出数据工具
这个是集成在地图编辑器中的工具,在游戏开发中,会用到大量的数据,用Excel做数据配置是免不了的,这个Excel导出数据工具功能很强大,可以导出json,xml和代码脚本,并且几个表单之间可以逻辑关联导出,适用于游戏团队的合作开发,个人开发者使用也很方便。
入口和界面如下:
这个工具最好用“Edge浏览器”导数据,“Edge浏览器”导数据的速度是最快的,0.1秒完成一个文件导出,谷哥浏览器导出一个文件需要3秒。
RCA寻路算法
“RCA寻路算法”是本作者于2025年研发的一套新寻路算法,是现今速度最快的寻路算法,寻路速度远快于当下流行的“A星寻路”和“JPS寻路”,用于解决其它寻路算法在“大地图寻路”或“同屏多人同时寻路”效率不足的问题,如果你的项目遇到大地图寻路效果不佳的问题,使用这套RCA算法能解决你的烦恼。
RCA寻路即为 :Ray(射线),Corner(墙角),Astar(A星寻路),这三个元素的首选字母组合的简称。
其中Ray代表寻路算法的眼睛,基于“起始点”和“各墙角”位置做为视野观察点观察目标,Astar只是用于计算先在哪个观察点观察,如果观察到“目标点”说明路径找到了。所以“RCA寻路”也可以称作带着眼睛寻路的一种寻路算法,所以速度会比其它算法快。
相关源代码已经集成到前端地图框架内,在初始化寻路算法前,只需设置 PathFindingAgent.instance.useRCASeek = true;就可以用了,如下图
具体原理可查看地图编辑器运行界面的“RCA寻路算法介绍”按钮,或在这个界面选择“RCA寻路”类型再点“查看寻路过程”按钮,如下图:
“地图编辑器”及“地图前端框架”如果遇到技术问题可咨询本作者。
联系方式:
QQ: 583051842
微信: code2tang



















