生成2D游戏斜45度地图不规则墙体的方法技术

技术编号:18943588 阅读:31 留言:0更新日期:2018-09-15 11:43
本发明专利技术提供了一种生成2D游戏斜45度地图不规则墙体的方法,包括:将地图网格化,赋予网格坐标;制作墙体单元,并赋予唯一的编码;将编码与网格坐标绑定;得到墙体单元的虚拟深度值;在地图上依次渲染绘制墙体单元组成墙体。本发明专利技术的有益效果在于:提供一种算法,根据墙体邻接关系建立墙体构件的特征码,并将该特征码与对应网格坐标绑定,在获取墙体的虚拟深度值后,再通过各墙体的特征码选择合适的墙体构件,并根据虚拟深度值进行排序,再按顺序逐个绘制出墙体以及墙体所包围的其他物体,正确地表达出不规则墙体的遮挡关系,本算法可以在一定复杂度内快速挑选墙体的基本构件,性能十分优秀,可以被应用在性能和供电有限的移动设备游戏中。

Method of generating irregular 2D 45 degree map irregular walls

The invention provides a method for generating irregular wall of a 2D game oblique 45-degree map, which includes: gridding the map to give grid coordinates; making wall units and giving unique codes; binding the codes to grid coordinates; obtaining virtual depth values of wall units; rendering and drawing wall units on the map in turn. The wall. The invention has the following advantages: an algorithm is provided to establish the characteristic code of the wall component according to the adjacency relation of the wall, and bind the characteristic code with the corresponding grid coordinates. After obtaining the virtual depth value of the wall, the appropriate wall component is selected by the characteristic code of each wall, and the wall component is sorted according to the virtual depth value. Then draw the wall and other objects surrounded by the wall one by one in order to express the occlusion relationship of irregular wall correctly. This algorithm can quickly select the basic components of the wall in a certain complexity. The performance is very good. It can be used in mobile game with limited performance and power supply.

【技术实现步骤摘要】
生成2D游戏斜45度地图不规则墙体的方法
本专利技术涉及2D游戏的图形处理领域,尤其是指一种生成2D游戏斜45度地图不规则墙体的方法。
技术介绍
在2D游戏中,斜45度地图是一种较为常见的视角,其既可以像3D游戏一样表现出立体效果,又可以像其他2D游戏一样,给设计师很高的自由度进行美术创作。为了画面表现或者玩法需要,有时需要再地图上动态创建不规则墙体,不规则墙体可用作障碍物、迷宫、或者装饰物,用途相当广泛。实现不规则墙体,一般由美术设计师在专业的作图软件中把结构拼好再输出成一张图片。更进一步,为了在墙体中放置物体,并表现出正确的遮挡关系,一般会将不规则墙体拆成前景和背景两部分,按照“背景-物体-前景”的顺序进行叠放显示。这种方式实现的墙体是有缺陷的,最明显的是每个墙体都需要单独的美术资源,这一方面加大了美术设计师的工作量,另外也对游戏的运行性能带来较大的压力。其次拆成前景和背景的方式,并不能百分百处理好遮挡关系。当然,可以通过对墙体用不同的拆分方式进行达到更好的遮挡处理效果,但这种技巧性的实现,无形中增加了开发维护的复杂度,进一步也约束了地图设计。因此需要对现有技术进行革新。
技术实现思路
本专利技术所要解决的技术问题是:克服现有技术的缺点与不足,提供一种生成2D游戏斜45度地图不规则墙体的方法。为了解决上述技术问题,本专利技术采用的技术方案为:一种生成2D游戏斜45度地图不规则墙体的方法,包括以下步骤:S1、将地图网格化,赋予网格坐标;S2、制作至少一种墙体单元,并赋予每种墙体单元唯一的编码;S3、在地图上设置墙体单元,并将墙体单元的编码与地图对应的网格坐标绑定;S4、根据网格坐标和墙体单元的编码得到对应墙体单元的虚拟深度值;S5、根据墙体单元的虚拟深度值在地图上依次渲染绘制墙体单元组成墙体。进一步的,在步骤S2中,还包括:根据墙体单元的连接关系制作至少一种基本构件,并赋予每种基本构件对应唯一的特征码的步骤。进一步的,在步骤S3中,还包括:根据墙体单元的连接关系,将特征码与对应的网格坐标绑定的步骤。进一步的,在步骤S5中,还包括:根据特征码选择对应的基本构件,并在地图上绘制对应的墙体的基本构件的步骤。本专利技术还包括一种生成2D游戏斜45度地图不规则墙体的装置,包括网格生成单元、墙体管理单元、深度赋予单元和绘制单元,所述网格生成单元用于在地图上生成网格,并为每个网格分配唯一坐标;所述墙体管理单元用于为每种墙体单元分配唯一的编号;所述深度赋予单元用于为墙体单元赋予虚拟深度值;所述绘制单元用于根据墙体单元的虚拟深度值在地图上依次渲染绘制墙体单元组成墙体。进一步的,所述墙体管理单元还包括墙体邻接情况识别模块和特征码生成模块,所述墙体邻接情况识别模块用于判断墙体单元周围是否存在同类型的墙体单元;所述特征码生成模块根据墙体单元邻接情况输出对应的特征码。进一步的,所述绘制单元还包括墙体选择单元,所述墙体选择单元用于根据特征码选出合适的墙体的基本构件,并绘制在地图上的对应位置。本专利技术还包括一种处理生成2D游戏斜45度地图不规则墙体的装置,包括上位机,所述上位机包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述中任意一项所述方法的步骤。本专利技术还包括一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述中任意一项所述方法的步骤。本专利技术的有益效果在于:提供一种算法,首先将地图网格化,根据墙体邻接关系建立墙体构件的特征码,并将该特征码与对应网格坐标绑定,在获取墙体的虚拟深度值后,再通过各墙体的特征码选择合适的墙体构件,根据虚拟深度值进行排序,再使用画家算法按顺序逐个画出墙体以及墙体所包围的其他物体,正确地表达出不规则墙体的遮挡关系,本算法可以在O(n)的算法复杂度内挑选出墙体的基本构件,性能十分优秀,可以被应用在性能和供电有限的移动设备游戏中。附图说明下面结合附图详述本专利技术的具体流程/结构:图1为本专利技术的方法流程示意图。具体实施方式为详细说明本专利技术的
技术实现思路
、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。实施例1请参阅图1,一种生成2D游戏斜45度地图不规则墙体的方法,包括以下步骤:S1、将地图网格化,赋予网格坐标;S2、制作至少一种墙体单元,并赋予每种墙体单元唯一的编码;S3、在地图上设置墙体单元,并将墙体单元的编码与地图对应的网格坐标绑定;S4、根据网格坐标和墙体单元的编码得到对应墙体单元的虚拟深度值;S5、根据墙体单元的虚拟深度值在地图上依次渲染绘制墙体单元组成墙体。本实施例中,首先假设地图是由边长相等的网格所构成,地图上的每一个网格都有自己独立的坐标,每个网格可容纳一个元素。将墙体拆分成墙体单元,并根据墙体单元周围的连接关系制作基本构件,并赋予特征码,每个墙体单元和基本构件都具有一定的底面积(最小为1个网格),利用网格坐标系统,就可以确定墙体单元之间、墙体单元与基本构件之间的相对位置,再根据墙体的基本构件的特征码,可自动快速将这些基本构件与墙体单元组合成完整的墙体,而不需要人工处理大量美术资源,大大降低了人力成本,增加了工作效率。从上述描述可知,本专利技术的有益效果在于:提供一种算法,首先将地图网格化,根据墙体邻接关系建立墙体构件的特征码,并将该特征码与对应网格坐标绑定,在获取墙体的虚拟深度值后,再通过各墙体的特征码选择合适的墙体构件,根据虚拟深度值进行排序,再使用画家算法按顺序逐个画出墙体以及墙体所包围的其他物体,正确地表达出不规则墙体的遮挡关系,本算法可以在O(n)的算法复杂度内挑选出墙体的基本构件,性能十分优秀,可以被应用在性能和供电有限的移动设备游戏中。实施例2在步骤S2中,还包括:根据墙体单元的连接关系制作至少一种基本构件,并赋予每种基本构件对应唯一的特征码的步骤。本实施例中,墙体单元的周围是否有存在同类型的墙体单元,可分为以下几种情况:1、四邻域内没有同类型墙体单元;2、四邻域内有1个同类型墙体单元;3、四邻域内有2个同类型墙体单元;4、四邻域内有3个同类型墙体单元;5、四邻域4个方向都有同类型墙体单元。又根据存在墙体的方位不同,上述五种类型共分为16种情况。可以将这些情况使用二进制位进行编码,若某个邻域有墙体则记为1,否则记为0。四邻域共需要4个二进制位表达,根据从高位到低位,依次记录右、上、下、左四个邻域可以编制下表:根据该表格即可高效完成对墙体单元的基本构件的选型。实施例3在步骤S3中,还包括:根据墙体单元的连接关系,将特征码与对应的网格坐标绑定的步骤。本实施例中,将特征码与网格坐标绑定,在获取墙体单元坐标计算虚拟深度值的同时,完成对墙体单元的基本构件的选型,增加了执行效率。实施例4在步骤S5中,还包括:根据特征码选择对应的基本构件,并在地图上绘制对应的墙体的基本构件的步骤。本实施例中,在绘制墙体时根据特征码直接绘制对应墙体的基本构件,不需人工处理大量美术资源,降低了人力成本,增加了执行效率。实施例5本专利技术还包括一种生成2D游戏斜45度地图不规则墙体的装置,包括网格生成单元、墙体管理单元、深度赋予单元和绘制单元,所述网格生成单元用于在地图上生成网格,并为每个网格分配唯一坐标;所述墙体管理单元用于为每种墙体单元分配唯一的编号;所述深度赋本文档来自技高网
...

【技术保护点】
1.一种生成2D游戏斜45度地图不规则墙体的方法,包括以下步骤:S1、将地图网格化,赋予网格坐标;S2、制作至少一种墙体单元,并赋予每种墙体单元唯一的编码;S3、在地图上设置墙体单元,并将墙体单元的编码与地图对应的网格坐标绑定;S4、根据网格坐标和墙体单元的编码得到对应墙体单元的虚拟深度值;S5、根据墙体单元的虚拟深度值在地图上依次渲染绘制墙体单元组成墙体。

【技术特征摘要】
1.一种生成2D游戏斜45度地图不规则墙体的方法,包括以下步骤:S1、将地图网格化,赋予网格坐标;S2、制作至少一种墙体单元,并赋予每种墙体单元唯一的编码;S3、在地图上设置墙体单元,并将墙体单元的编码与地图对应的网格坐标绑定;S4、根据网格坐标和墙体单元的编码得到对应墙体单元的虚拟深度值;S5、根据墙体单元的虚拟深度值在地图上依次渲染绘制墙体单元组成墙体。2.如权利要求1所述的方法,其特征在于:在步骤S2中,还包括:根据墙体单元的连接关系制作至少一种基本构件,并赋予每种基本构件对应唯一的特征码的步骤。3.如权利要求2所述的方法,其特征在于:在步骤S3中,还包括:根据墙体单元的连接关系,将特征码与对应的网格坐标绑定的步骤。4.如权利要求3所述的方法,其特征在于:在步骤S5中,还包括:根据特征码选择对应的基本构件,并在地图上绘制对应的墙体的基本构件的步骤。5.一种生成2D游戏斜45度地图不规则墙体的装置,其特征在于:包括网格生成单元、墙体管理单元、深度赋予单元和绘制单元,所述网格生成单元用于在地图上生...

【专利技术属性】
技术研发人员:曹凯敏
申请(专利权)人:广州悦世界信息科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1