浅谈rpg游戏中简单地图的制作

浅谈rpg游戏中简单地图的制作

ID:34080208

大小:55.50 KB

页数:5页

时间:2019-03-03

浅谈rpg游戏中简单地图的制作_第1页
浅谈rpg游戏中简单地图的制作_第2页
浅谈rpg游戏中简单地图的制作_第3页
浅谈rpg游戏中简单地图的制作_第4页
浅谈rpg游戏中简单地图的制作_第5页
资源描述:

《浅谈rpg游戏中简单地图的制作》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、蒀羇艿莀螈羆羈膂螄羅膁莈蚀羄芃芁薆羃羃蒆蒂羂肅艿螁羁膇蒄蚇肁艿芇薃肀罿蒃葿聿肁芆袇肈芄薁螃肇莆莄虿肆肆蕿薅蚃膈莂蒁蚂芀薈螀螁羀莀蚆螀肂薆薂蝿膅荿蒈螈莇膁袆螈肇蒇螂螇腿芀蚈螆芁蒅薄螅羁芈蒀袄肃蒄蝿袃膅芆蚅袃芈蒂蚁袂肇芅薇袁膀薀蒃袀节莃螂衿羂薈蚈袈肄莁薄羇膆薇蒀羇艿莀螈羆羈膂螄羅膁莈蚀羄芃芁薆羃羃蒆蒂羂肅艿螁羁膇蒄蚇肁艿芇薃肀罿蒃葿聿肁芆袇肈芄薁螃肇莆莄虿肆肆蕿薅蚃膈莂蒁蚂芀薈螀螁羀莀蚆螀肂薆薂蝿膅荿蒈螈莇膁袆螈肇蒇螂螇腿芀蚈螆芁蒅薄螅羁芈蒀袄肃蒄蝿袃膅芆蚅袃芈蒂蚁袂肇芅薇袁膀薀蒃袀节莃螂衿羂薈蚈袈肄莁薄羇膆

2、薇蒀羇艿莀螈羆羈膂螄羅膁莈蚀羄芃芁薆羃羃蒆蒂羂肅艿螁羁膇蒄蚇肁艿芇薃肀罿蒃葿聿肁芆袇肈芄薁螃肇莆莄虿肆肆蕿薅蚃膈莂蒁蚂芀薈螀螁羀莀蚆螀肂薆薂蝿膅荿蒈螈莇膁袆螈肇蒇螂螇腿芀蚈螆芁蒅薄螅羁芈蒀袄肃蒄蝿袃膅芆蚅袃芈蒂蚁袂肇芅薇袁膀薀蒃袀节莃螂衿羂薈蚈袈肄莁薄羇膆薇蒀羇艿莀螈羆羈膂螄羅膁莈蚀羄芃浅谈RPG游戏中简单地图的制作李东日(青岛飞洋职业技术学院,266111)摘要:本文介绍了小型RPG游戏中的地图的制作,并对其进行了分析。关键词:RPG游戏,索引,地图。引言:地图是游戏中的一个不可缺少的元素。大中型游戏的

3、地图规模比较大,一般采用专门的地图编辑器生成地图文件。但这种地图的制作方法较复杂,并且使用了许多高级算法。这里我给大家介绍一种小型RPG游戏地图的制作方法,旨在帮助初学者快速的理解游戏地图的组织与制作方法。正文:经常有游戏编程爱好者抱怨游戏的设计和编写太难,搞了好几个月还不见成效,就会对游戏的编程感到深不可测,最后就是放弃了游戏的编写。实际上,以上的结果完全没有必要,游戏编程和其他编程一样,都需要坚定的毅力。不可能在很短的时间内就上手然后拥有自己的作品。游戏编程和其他编程不一样的地方是涉及的方面比较多,需

4、要了解的东西比较多。但是一个人的世界过去了,现在讲求的都是团队。团队中每个人的分工都是不一样的,所以也没必要什么都会,那样只会落到什么都会什么都不精通的地步。废话说到这,下面我就讲一下在小型RPG游戏中地图的制作方法,帮助初学者快速理解和掌握。在讲制作方法之前,先了解一下地图的表现形式:根据游戏的画面视角可分为以下几种形式:平面直视:这中视角的设计最为简单,就是直接俯视视角。90度直视,这一视角的引擎设计简单,2D格斗、动作类游戏大都用这种视角。45度俯视,这一视角的设计同前一种类似,只是地图表现的要大和

5、逼真,可用于RPG的制作。斜45度俯视,这一视角的引擎设计复杂,但表现却非常的逼真。以上就是现在比较流行的地图表现形式,不过有3D、2D之分,第一人称、第三人称之分。按地图组成方法的不同,大致可分为以下几种:第一种:拼图式,由许许多多的这种图片拼凑而成的,这种方法的好处是对内存的使用量少,读盘时间少,处理速度快。但它的缺点也是十分明显的,需要在程序中通过一定的逻辑进行拼接。第二种:图片式,使用一张大的图片作为地图,优点是图象效果非常好,但缺点也是很多的,不利于碰撞检测,占用内存大,处理速度比较慢,一般不建

6、议使用。第三种:索引式,这种方法是我自己设计的一种方案。由于得到论证,使用比较简单,下面就着重讲解一下这种索引式地图生成法。索引式地图是将场景所需的各种图片,如城墙、路、屋子之类,按照一定的逻辑写进一个特定的地图文件里。写进的东西并非图片本身,而是图片的索引。例如,我们指定背景的索引是‘0’,草坪是‘1’,其他的依次类推。这样存到地图文件。当加载地图的时候,直接读取地图文件里的‘0’、‘1’等字符,然后根据字符进行图片的加载。下面以全屏800╳600,每副小图片40╳30来讲解。由于全屏800╳600而每

7、副小图片是40╳30,所以显示的图片索引正好可以存储在一个20*20的数组里。事先定义:LPDIRECTDRAWSURFACE7lpDDprimary;//DirectDraw主画面LPDIRECTDRAWSURFACE7lpDDback;//DirectDraw后备页面LPDIRECTDRAWSURFACE7lpDDgrouparray[3];//小地图页面,假设有3种图片可以使用chararray[400];//全局变量,保存地图数据信息/***函数名:MapInit**功能:载入各种地图页面**返回

8、值:int*/intGameInit(void){////////////////////////创建地面贴图页面//普通地面//LPDIRECTDRAWSURFACE7CreatePicSurface(char*filename,intmem_flags,intcolorkey);//创建bmp画面,返回到DirectDraw对象上。//地面if(!(lpDDgrouparray[0]=CreatePicSurface("p

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

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

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