好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

地图编辑器用法.ppt

12页
  • 卖家[上传人]:wt****50
  • 文档编号:49592335
  • 上传时间:2018-07-31
  • 文档格式:PPT
  • 文档大小:87KB
  • / 12 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 地图编辑器初步使用:一·了解地图编辑器1.地图编辑器存储信息的结构地图编辑器首先需要有一个结构体数组来存储 地图上的信息,如阻挡、陷阱等信息例如,迷宫地图编辑器使用了如下的结构体:struct stCell{unsigned Block:1;//是否阻挡 0正常 1阻挡unsigned CPType:2;//陷阱类型 0为有陷阱 1无陷阱}而分层地图编辑器使用了如下结构体 :struct stCell{unsigned GroundPic:6;//地面页面编号unsigned Ground:12;//地面编号第几块unsigned Level:4;//地面所在层unsigned Block:1; //是否阻挡0正常1阻 挡unsigned ObjPic:6; //物体1页面编号( 普通0-59 动态60-63) unsigned Obj:12;//物体1编号unsigned Obj1Pic:6;//物体2页面编号(普通0-59 动 态60-63) unsigned Obj1:12;//物体2编号unsigned Level0:4;//物体所在层次(0-15) unsigned Level1:4;//物体2所在层次(0-15) //unsigned CP:7;//陷阱 //unsigned MouseType:3;//鼠标类型 unsigned CPType:1;//陷阱类型 0为有陷阱 1无陷 阱 //unsigned res:13;//保留 }2.地图编辑器是如何分割载入其中的图片对于加载到地图编辑器中的图片,迷宫地 图编辑器是把图片从左上角开始划分为 32*32的小格子,而分层地图编辑器则是默 认情况下为30*30的小格子,需要时可根据自 己需要更改。

      例如800*600的图片在迷宫地图编辑器中会 被分为25行19列,在分层地图编辑器中就可 改变小格子的长宽得到更适合的行和列二、使用地图编辑器1.要把自己想要编辑的图片添加到地图编辑 器中以迷宫地图编辑器编辑器为例)方法一,更改图片名称:在PIC文件夹下把自己的图片复制进来 ,然后将其中的 大唐境外·bmp图片删除, 将自己的图片命名为 大唐境外·bmp再次运行后,你要编辑的图片就显示在 编辑器中了方法二,更改文件代码:打开Ini文件夹,打开HEROLAN文件 ,在出现的记事本中将大唐境外更名为自 己图片的名称 2.使用地图编辑器进行编辑,如设置阻挡、 陷阱等 3.编辑完成后,要点击 文件->另存为,再出 现的对话框中选择合适的位置存储文件至此,一个包含了你所需信息的文件就 生了它的后缀名为·dat三、在自己的程序中添加地图1.读入文件信息要有一个与地图编辑器所使用的数组对 应的数组来存储读入的信息实现方法:在war·h中定义结构体stCell,然后用该结 构体生成一个指针m_Cell ,在初始化场景 时为其分配内存接下来就可以使用方法来读入信息了 以下面的方法来说明如何读入文件信息: bool ReadMap(char* lpszPathName)//读取地图文件 { /*打开地图文件进行写入*/ FILE *fp=fopen(lpszPathName,“rb“);if (!fp) { return false; } /*读入地图数组*/ fseek(fp,32,SEEK_SET);//读入地图文件头 fread( fread(fread(m_Cell,sizeof(stCell),m_Width*m_Height,fp); fclose(fp); return 0; } 该方法的参数是要读入文件的路径,如 “resource\\background.dat” FILE是windows已定义好的一种类型 fopen返回类型为FILE,可用来打开文件。

      fseek用来跳过文件(参数1)的指定字节数个位置 (参数2) fread则是用来读取文件(参数4)内容的几 个(参数3)单位字节(参数2)并存储到指定的数 据中去(参数1)使用举例:if (m_Cell!=NULL) { delete m_Cell;}//如 m_Cell则将其置空m_Cell=new stCell[m_Width*m_Height];ReadMap(“background3.dat“); 至此 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的格子可走完成上述步骤后,小人就不会在地图上乱 走了,但随着游戏对地图的要求增多后,这 种方法就显的不能满足程序的要求,且会使 程序显得冗杂所以,我们还是要能看懂现 有的地图编辑器的代码,在学习过MFC之后 尽量编写出适合自己程序的地图编辑器。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.