首页 > Android频道 > 【Android研究院之游戏开发】 > Android研究院之游戏开发地图编辑器(一)
2012
04-27

Android研究院之游戏开发地图编辑器(一)

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 1

Mappy中文地图编辑器的使用说明

下载地址:http://download.csdn.net/source/3452259

        压缩包中包含 游戏地图编辑器使用指南 与地图资源图片 宫院1.png 一张 mapwin.exe 可执行文件 map.FMP 与map.TXT为使用编辑器生成出来的保存文件与地图数组。

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 2

解压后打开地图编辑器 mapwin.exe.exe 创建一张新的地图。

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 3

由于我用的Android模拟器宽高是320X480

地图宽的块数 就是 320 / 32 = 10

地图高的块数 就是 480 / 32 = 15

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 4

这里扩充一下 实际在工作开发中因为手机的分辨率各式各样 所以是需要尺寸考虑自适应的 有两种方法可以拿到当前手机屏幕的宽高

 

弹出框后点击确定

 

导入地图图块 编辑器下载地址中包含了一张 地图图片 可以选择使用

因为编辑器是须要美术图片配合使用的 比如tile的尺寸 图片的宽高尺寸必需能被整除。

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 5导入地图图块成功 右侧为导入的地图资源 接下来就是自己拖动右侧地图块拼出自己想要的地图了。

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 6接下来我将填充3个图层 最底层 实体层 物理层 我会一一介绍他们的作用

图层0为最底层 绘制地图先绘制这一层

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 7图层1为实物层 这一层主要绘制一些actor 绘制完第一层在绘制这一层

 

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 8图层2为物理层检测物理碰撞这一层不用绘制但是玩家每移动一次就须要以玩家当前点在地图数组中的角标 和物理层做判断是否碰撞,它和Actor层的位置一样。

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 9

拼地图的使用技巧 编辑新图层的时候可以把上一个涂层打开进行对比编辑。 

这样子就可以根据0图层的信息来编辑图层1

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 10

       地图块拼完后编辑完成后点击保存文件 后在点击保存文本数据  地图数组文件就生成出来了 文件命为map.TXT 里面就存着我们编辑的3个地图层的地图信息。

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 11

 

使用Mappy中文地图编辑器生成的地图信息数组来绘制游戏地图

效果图如下

Android研究院之游戏开发地图编辑器(一) - 雨松MOMO程序研究院 - 12

代码实现

这里我先说一下游戏窗口的全屏实现方法  
第一种


 第二种 AndroidManifest.xml 中加入

       

最后如果你还是觉得我写的不够详细 看的不够爽 不要紧我把源代码的下载地址贴出来 欢迎大家一起讨论学习
雨松MOMO希望可以和大家一起进步。

下载地址:http://vdisk.weibo.com/s/aa81p

 这里我详细说一下编辑器生成出来的数组怎么用?就拿生成出来的ID 137为例  假设 tile的宽高为32 137表示从图片的左上角从左到右从上到下 数到第137个tile 就是我们须要绘制的tile   
绘制方面利用 clipRect方法来剪裁图片 实现绘制 下一章我讲游戏中的摄像头机制 会详细介绍这一点。

 

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

  1. 博主 我想问一下我的Android模拟器是480*800的然后我按照你里面的代码 自制了一张地图并且模仿你的代码 新建了一个类 但是运行后,显示的地图是完整的,但是显示的内容跟我原来的地图不一样然后我 就直接在你的代码里改,地图显示正确,但是只显示了一部分。我弄了很久都没弄对,所以来麻烦你了

  2. 请允许我尊称你为老师,我是个游戏爱好着,想通过学习也做做程序,今天有幸看到你的网站,今后我会经常进来学习,您愿意指导我吗?谢谢!!!