这是我个人开发的一套地图游戏框架
框架由三部分组成:
1、在线地图编辑器。可以在网页端编辑地图数据。
2、前端游戏地图框架。用于跑游戏地图编辑的数据
3、一键切图工具。把大地图切成小块,地图按视野区域加载切块。
一、在线地图编辑器。
工具地址:https://easymapeditor-1258223435.cos.ap-guangzhou.myqcloud.com/v2.0.0/web-mobile/index.html?alignment=1
打开网址即可使用,地图编辑器包含:
1、编辑地图寻路数据
2、摆放npc,怪,传送门,出生点,场景物体,事件物体,场景道具
效果图如下


需要点击新建按钮,弹出新建界面,设置地图参数,然后点击浏览按钮选一张自己电脑上的地图图片就可以编辑了。
如下图:

编辑完,点击保存就得到一张json格式的地图数据。
二、地图前端框架
得到地图数据后,需要把地图数据跑起来,这就需要地图前端框架了,也就是我们玩游戏的客户端。这套前端框架我已经写好,可在地图编辑器的下载菜单下载 Laya3.0地图框架,如下图:

下载完后解压项目,在项目的resources/map目录下有两个子目录bg和data,bg目录是放地图背景的,data是放地图数据的,新编辑的地图数据和背景就按要求放导这两个目录下即可。
如下图:

然后打开项目的GameMain.ts脚本,按如下截图填参数就能把自己编辑的地图跑起来了。

三、地图切图工具
一些大地图,比如10000 * 10000像素的地图,文件是很大的,加载这样的地图会消耗时间比较长,还有小游戏平台最大只支持2048 * 2048的图片,所以为了提高加载速度和适配小游戏平台,通过切块加载的方式加载大地图能提高速度,也能发布小游戏平台,加载的原理就是游戏只加载地图视野范围的图块,视野移动时,就动态加载新的图块。要实现切块加载,就需要切图工具,如下图:

切完后,在GameMain脚本里的加载地图函数的第二个参数枚举值填slices就可以做切块加载了。
最后奉上地图框架做的案例
https://easymapeditor-1258223435.cos.ap-guangzhou.myqcloud.com/frameworkdemo/demo_laya/v3.3.8/web/index.html
效果图:

开发者如果遇到技术问题可联系本作者:QQ 583051842 微信 code2tang