地图编辑器用法

地图编辑器用法

ID:45591239

大小:87.00 KB

页数:12页

时间:2019-11-15

地图编辑器用法_第1页
地图编辑器用法_第2页
地图编辑器用法_第3页
地图编辑器用法_第4页
地图编辑器用法_第5页
资源描述:

《地图编辑器用法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、地图编辑器初步使用:一·了解地图编辑器1.地图编辑器存储信息的结构地图编辑器首先需要有一个结构体数组来存储地图上的信息,如阻挡、陷阱等信息。例如,迷宫地图编辑器使用了如下的结构体:structstCell{unsignedBlock:1;//是否阻挡0正常1阻挡unsignedCPType:2;//陷阱类型0为有陷阱1无陷阱}而分层地图编辑器使用了如下结构体:structstCell{unsignedGroundPic:6;//地面页面编号unsignedGround:12;//地面编号第几块unsignedLevel:4;//地面所在层unsignedBlock:1;/

2、/是否阻挡0正常1阻挡unsignedObjPic:6;//物体1页面编号(普通0-59动态60-63)unsignedObj:12;//物体1编号unsignedObj1Pic:6;//物体2页面编号(普通0-59动态60-63)unsignedObj1:12;//物体2编号unsignedLevel0:4;//物体所在层次(0-15)unsignedLevel1:4;//物体2所在层次(0-15)//unsignedCP:7;//陷阱//unsignedMouseType:3;//鼠标类型unsignedCPType:1;//陷阱类型0为有陷阱1无陷阱//unsign

3、edres:13;//保留}2.地图编辑器是如何分割载入其中的图片对于加载到地图编辑器中的图片,迷宫地图编辑器是把图片从左上角开始划分为32*32的小格子,而分层地图编辑器则是默认情况下为30*30的小格子,需要时可根据自己需要更改。例如800*600的图片在迷宫地图编辑器中会被分为25行19列,在分层地图编辑器中就可改变小格子的长宽得到更适合的行和列。二、使用地图编辑器1.要把自己想要编辑的图片添加到地图编辑器中。(以迷宫地图编辑器编辑器为例)方法一,更改图片名称:在PIC文件夹下把自己的图片复制进来,然后将其中的大唐境外·bmp图片删除,将自己的图片命名为大唐境外·b

4、mp再次运行后,你要编辑的图片就显示在编辑器中了。方法二,更改文件代码:打开Ini文件夹,打开HEROLAN文件,在出现的记事本中将大唐境外更名为自己图片的名称。2.使用地图编辑器进行编辑,如设置阻挡、陷阱等。3.编辑完成后,要点击文件->另存为,再出现的对话框中选择合适的位置存储文件。至此,一个包含了你所需信息的文件就生了。它的后缀名为·dat。三、在自己的程序中添加地图1.读入文件信息要有一个与地图编辑器所使用的数组对应的数组来存储读入的信息。实现方法:在war·h中定义结构体stCell,然后用该结构体生成一个指针m_Cell,在初始化场景时为其分配内存。接下来就可

5、以使用方法来读入信息了。以下面的方法来说明如何读入文件信息:boolReadMap(char*lpszPathName)//读取地图文件{/*打开地图文件进行写入*/FILE*fp=fopen(lpszPathName,"rb");if(!fp){returnfalse;}/*读入地图数组*/fseek(fp,32,SEEK_SET);//读入地图文件头fread(&m_Width,4,1,fp);fread(&m_Height,4,1,fp);fread(m_Cell,sizeof(stCell),m_Width*m_Height,fp);fclose(fp);retu

6、rn0;}该方法的参数是要读入文件的路径,如“resource\background.dat”FILE是windows已定义好的一种类型fopen返回类型为FILE,可用来打开文件。fseek用来跳过文件(参数1)的指定字节数个位置(参数2)fread则是用来读取文件(参数4)内容的几个(参数3)单位字节(参数2)并存储到指定的数据中去(参数1)使用举例:if(m_Cell!=NULL){deletem_Cell;}//如m_Cell则将其置空m_Cell=newstCell[m_Width*m_Height];ReadMap("background3.dat");至此

7、m_Cell就存储了地图信息,例如m_Cell[26]=m_Cell[1*25+1]中就存储着第二行的第一个32*32的格子的信息接下来就是更改自己程序中的键盘消息处理函数使其能使用m_Cell来控制小人的移动。如果m_Cell[y*25+x]·Block为1则表示第y行第x列的32*32的格子不可走,为0则表示第y行第x列的32*32的格子可走。完成上述步骤后,小人就不会在地图上乱走了,但随着游戏对地图的要求增多后,这种方法就显的不能满足程序的要求,且会使程序显得冗杂。所以,我们还是要能看懂现有的地图编辑器的代码,在学习过M

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。