2d游戏地图编辑方法及装置与流程

文档序号:17660391发布日期:2019-05-15 22:20阅读:733来源:国知局

本发明涉及游戏地图编辑技术领域,尤其涉及一种2d游戏地图编辑方法及装置。



背景技术:

目前,互联网提供了共享的资料外,还能提供在线游戏,如大型多人在线角色扮演游戏(massive(或massively)multiplayeronlinerole-playinggam,简称mmorpg)。

在游戏中,地图接近于现实。在大多数情况下,地图是指用来表示游戏环境的图形。我们一般使用规则的网格图,以特定的比例或分辨率来表示地图,游戏地图一般由土地、河流、道路、桥梁、树林、山脉、草地以及建筑物等地貌形式的图素组成。

现有技术大都由传统的地图将整个地图分为若干个图块进行绘制,目前相关技术中的地图编辑器在创建地图时,通常需要编辑人员在编辑界面手动创建地图层及地图层上的所有对象,以达到生成地图的目的。如,2dmmorpg手机游戏场景地图,大多采用tiled地图编辑器工具进行。tiled地图编辑器会根据地图不同层,不同类型生成相应的配置数据。如一般会将地图拆解为块层、对象层和图像层,其中块层可以看作是地图层,对象层可以看作为为地图层上的所有对象,图像层即为地图的背景图像。

手动创建块层和对象层需要较长的时间,生成原始数据比较复杂,计算障碍物和布置物层级复杂,策划美术人员使用起来难度较大。



技术实现要素:

本发明针对上述现有的问题,提出一种2d游戏地图编辑方法及装置。

根据本发明的一个方面,提供一种2d游戏地图编辑方法,包括以下步骤:

获取待绘制的游戏地图文件中的图像信息;

利用地图编辑器生成对应的游戏地图文件;

获取游戏地图文件中的原始数据并对其进一步封装,生成对应的封装数据;

使用生成的封装数据对游戏地图进行标识。

在一些实施方式中,还包括以下步骤:

判断是否属于固定的障碍物;

当判断结果属于固定的障碍物时,则结束。

在一些实施方式中,当判断结果为属于不固定的障碍物时,则对所述障碍物进行配置占地区域信息,处理层级遮挡关系。

在一些实施方式中,封装包括以下步骤:

读取原始json文件;

循环每个格子并判断循环是否结束,判断结果是循环结束时,则写入二进制文件,结束。

在一些实施方式中,当判断结果是循环未结束,则根据当前值进行位运算;

当位运算存在有效值时,根据特定的值进行特定处理;

存储二进制值;

进入下次循环。

在一些实施方式中,当位运算存在无效值时,则重新循环每个格子。

在一些实施方式中,处理层级遮挡关系包括以下步骤:

分层读取原始json数据;

获取基点,计算偏移量;

循环每个格子并判断循环是否结束,判断结果是循环结束时,则写入lua文件,结束。

在一些实施方式中,当判断结果是循环未结束时,根据格子上的值、基点、偏移量算出坐标以及状态,保存成lua表数据。

根据本发明另一个方面,一种终端设备,包括处理器、存储器以及存储在存储器中且被配置为由处理器执行的计算机程序,处理器执行计算机程序时实现如前述的2d游戏地图编辑方法。

根据本发明另一个方面,提供一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行如前述的2d游戏地图编辑方法。

本发明的上述技术方案相对于现有技术具有以下优点:

对地图编辑软件生成的原始数据进一步封装,简化了地图制作过程,策划美术只需要使用这些封装数据进行游戏地图的标识即可,比如标识可行走区域、阴影区域等。对原始数据进行封装,把复杂的数据封装成游戏易于使用的数据,速度更快、效率更高,处理层级遮挡关系的时候更加快速。

附图说明

图1为本发明实施例1提供的2d游戏地图编辑方法的流程图;。

图2为本发明实施例2提供的2d游戏地图编辑方法的流程图;

图3为本发明实施例2提供的2d游戏地图编辑方法的流程图;

图4为本发明实施例4提供的tilemap原始数据再次封装的流程图;

图5为本发明实施例5提供的处理层级遮挡关系的流程图;

图6为本发明实施例1提供的2d游戏地图编辑装置结构示意图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

实施例1

本实施例提供一种2d游戏地图编辑方法,具体如图1所示,包括以下步骤:

步骤s11:获取待绘制的游戏地图文件中的图像信息;

其中,该步骤中的游戏地图文件可以是预先创设好的文件,包括了待编辑地图的图像信息,该图像信息可以是待编辑对象以及待编辑对象的属性信息。具体地,待编辑对象可以包括但不限于地图层、地图层上的对象、地图层上发生的事件,其中,地图层可以包括地图背景图像、地图背景标识id等;地图层上的对象可以包括地图层上的单位、角色等;地图层上发生事件可以包括游戏对战回合、剧情、对话等。待编辑对象的属性信息可以包括但并不限于可编辑对象名称、可编辑对象的类型、可编辑对象的解释说明等。比如,但不限于此例子:编辑对象为地图背景图像,则可编辑对象的属性信息可以包括图像标识id、图像主体色、图像像素分辨率等信息。

步骤s12:利用地图编辑器生成对应的游戏地图文件;

其中,地图编辑器可以采用tiled地图编辑器,游戏地图采用tiled地图编辑器生成的配置文件进行加载,配置文件一般是.bmap二进制文件格式。tiled地图编辑器会根据上一步骤s11中待绘制的游戏地图文件中的图像信息生成相应的配置数据,比如会根据地图不同层、不同的类型,如可行走区域、阴影区域、阻挡区域等生成相应的配置数据。

具体做法是,tiled地图编辑器的做法是用格子图片的预设一个个拼接成一张地图,每个格子上可以设置该格子的数据,例如,但不限于这些例子:图片名字,tile坐标,是否可以通过,是否是障碍,是否可销毁,是否是陷阱等等。接着把所有图片的预设都编成一个id,然后在当前tile上填上对应的id,最后保存成一个json文件,在游戏里面动态生成。

步骤s13:获取游戏地图文件中的原始格子数据并对其进一步封装,生成对应的封装数据;其中,原始数据例如是地图上格子数据,格子用的哪张图,是否是可行区域等原始信息。

步骤s14:使用生成的封装数据对游戏地图进行标识。

其中,可以使用生成的封装数据对游戏地图进行相应的标识,比如,可以将某一封装数据标识成可行走区域,某一封装数据标识为阴影区域,某一封装数据表示为阻挡区域等等。

对地图编辑软件生成的原始格子数据进一步封装,简化了地图制作过程,策划美术只需要使用这些封装数据进行游戏地图的相应区域的标识即可,比如标识可行走区域、阴影区域等。通过对原始数据进行封装,把复杂的数据封装成游戏易于使用的数据,方便调用,速度更快、效率更高。

实施例2

本实施例提供一种2d游戏地图编辑方法,具体如图2所示,包括以下步骤:

步骤s21:获取待绘制的游戏地图文件中的图像信息。具体与实施例1的步骤s11相同,在此不再赘述。

步骤s22:利用地图编辑器生成对应的游戏地图文件。具体与实施例1的步骤s12相同,在此不再赘述。

步骤s23:获取游戏地图文件中的原始数据并对其进一步封装,生成对应的封装数据。具体与实施例1的步骤s13相同,在此不再赘述。

步骤s24:使用生成的封装数据对游戏地图进行标识。具体与实施例1的步骤s14相同,在此不再赘述。

步骤s25:判断是否属于固定的障碍物;

当判断结果属于固定的障碍物时,则结束。

当判断结果为属于不固定的障碍物时,则执行其他操作。

这种判断步骤能够减少数据计算,速度快,效率高。

实施例3

本实施例提供一种2d游戏地图编辑方法,具体如图3所示,包括以下步骤:

步骤s31:获取待绘制的游戏地图文件中的图像信息。具体与实施例1的步骤s11相同,在此不再赘述。

步骤s32:利用地图编辑器生成对应的游戏地图文件。具体与实施例1的步骤s12相同,在此不再赘述。

步骤s33:获取游戏地图文件中的原始数据并对其进一步封装,生成对应的封装数据。具体与实施例1的步骤s13相同,在此不再赘述。

步骤s34:使用生成的封装数据对游戏地图进行标识。具体与实施例1的步骤s14相同,在此不再赘述。

步骤s35:判断是否属于固定的障碍物;

当判断结果属于固定的障碍物时,则结束。

当判断结果为属于不固定的障碍物时,

则执行步骤s206:对所述障碍物进行配置占地区域信息,其中,占地区域信息例如:游戏地图格子上0代表可以行走、1代表有阴影以及2代表障碍物等。

步骤s207:处理层级遮挡关系。

这种方法,进一步说明了对游戏地图格子进行标识后,把复杂的数据封装成游戏易于使用的数据,方便调用,速度更快、效率更高。

实施例4

本实施例是对实施例1-实施例3中的对原始数据进行进一步封装的具体阐述,如图4所示,包括以下步骤:

步骤s101:读取原始json文件;

其中,原始json文件是前述的tiled地图编辑器生成的文件。

步骤s102:循环每个格子并判断循环是否结束,

当判断结果是循环结束时,则执行步骤s103:写入二进制文件,结束。

当判断结果是循环未结束,则执行步骤s104:根据当前值进行位运算;

其中,当前值进行位运算是指:由于一个图片在游戏地图上不同位置旋转不同,json上数据也不一样,位运算不同方向的的数字可以得到当前格子上对应的是哪张图片,以及是什么状态。

当位运算存在有效值时,则执行步骤s105:根据特定的值进行特定处理;有效值其实就是json上格子上的值,特定值是计算机图形学上用的,处理也是利用计算机图形处理的算法。

执行步骤s106:存储二进制值;最后进入下次循环。

当位运算存在无效值时,则重新循环每个格子。

其中,每个格子上可以设置相应的数据。

进一步说明了对游戏地图格子进行标识后,把复杂的数据封装成游戏易于使用的数据,方便调用,这种方法能够减少数据计算,速度快,效率高。

实施例5

本实施例是对实施例1-实施例3中的处理层级遮挡关系的具体阐述,如图5所示,包括以下步骤:

步骤s201:处理层级遮挡关系包括以下步骤:

步骤s202:分层读取原始json数据;

其中,json数据都是由tiled生成的,一般会包含普通地图、需要布置的场景地图、布置物再次生成游戏可用的算法不一样,布置物需要计算偏移量等。

布置物是分离于地图的,所以就需要占地区域、阻拦区域、阴影区域等,这些要用和地图上的相应信息进行组合,当人物处于这个区域才会有更合理的响应。

步骤s202:获取基点,计算偏移量;

获取地图上布置物的基点,如大树、亭子等,不同布置物基点不同,偏移量也不同,在基点的基础上再做偏移量的计算。

步骤s203:循环每个格子并判断循环是否结束,判断结果是循环结束时,则执行步骤s204:写入lua文件,结束。

当判断结果是循环未结束时,则执行步骤s205:根据格子上的值、基点、偏移量算出坐标以及状态.其中,值、基点策划根据布置物的物理状态定义的,计算方式就是基于基点计算站位、阻挡等区域状态一般都是自己定义的,比如可行走、是否是陷阱等。

步骤s206:保存成lua表数据。

本发明提供的2d游戏地图制作方法,对地图编辑软件生成的原始数据进一步封装,简化了地图制作过程,策划美术只需要使用这些封装数据进行游戏地图的标识即可,比如标识可行走区域、阴影区域等。原始数据并不能展现布置物的层级、遮挡以及阻拦关系,本发明是对布置物进行封装赋予它们一些属性如基点、占位等,再结合原始json数据算出层级、遮挡等信息,保存在lua文件中。只需要生成时计算一遍,使用时不需要计算。相对原始数据游戏在使用时更加快速。所以对原始数据进行封装,把复杂的数据封装成游戏易于使用的数据,方便调用,速度更快、效率更高,利用本实施例处理层级遮挡关系的时候更加快速。

实施例6

本实施例提供一种终端设备,如图6所示,包括处理器41、存储器42以及存储在所述存储器42中且被配置为由所述处理器41执行的计算机程序43,所述处理器41执行所述计算机程序43时实现如实施例1-5所述的2d游戏地图制作方法。

其中,处理器41可以为中央处理器(centralprocessingunit,cpu)。处理器41还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器41也可以是任何常规的处理器等。

存储器42作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器41通过运行存储在存储器42中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述实施例中的游戏场景中的阴影处理方法。

存储器42可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据多业务系统的运行装置的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器42可选包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至采用上述信令传输方法的会议终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器42中,当被所述一个或者多个处理器41执行时,执行实施例1中所述的2d游戏地图制作方法。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如实施例1-5中的相关描述。

以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1