掌桥专利:专业的专利平台
掌桥专利
首页

一种基于Tiledmap的地图数据导出方法

文献发布时间:2023-06-19 11:09:54


一种基于Tiledmap的地图数据导出方法

技术领域

本发明涉及数据导出技术领域,特别涉及一种基于Tiledmap的地图数据导出方法。

背景技术

现有技术中,制作地图玩法通常需要以下几个步骤:1、美术人员根据策划的需求在tiledmap编辑器中绘制好地图的地形、地图的战斗区、地图的城池区等图像,最后导出一份后缀名为tmx的文件;2、程序人员在此基础上,对地图中的战斗区、城池区、围墙等元素添加对象点,最后导出一份后缀名为tmx的文件;3、程序人员导出的tmx文件会被应用到游戏中,在玩家打开地图界面的时候,会加载该txm文件,然后读取地图中所有的对象点,并将对象点中包含的数据信息转化为JavaScript能够识别的数据。

由于地图的加载是在打开界面的时候进行的,而地图上含有大量的对象点信息,读取这些信息会有一定的耗时,从而导致卡顿;此外,服务器同样需要根据地图上的数据来进行业务的制作,而Erlang并不支持读取和解析tmx文件。

发明内容

为解决上述问题,本发明提供了一种基于Tiledmap的地图数据导出方法。

本发明采用以下技术方案:

一种基于Tiledmap的地图数据导出方法,包括如下步骤:

S1、设置对象点的标签,所述标签由标签名、连接符号及对应的数据组成;

S2、加载tmx文件,并解析每个对象点,形成Tiledmap坐标与各标签的映射关系池;

S3、将所述映射关系池转化为相应的JavaScript代码或Erlang代码,并生成配置文件。

进一步地,所述标签名包括元素类型、系统名、坐标点和业务类型。

进一步地,所述连接符号为下划线、斜线或破折号。

进一步地,所述映射关系池包括元素类型映射池、系统名映射池、坐标点映射池和业务类型映射池。

进一步地,所述元素类型映射池含有Tiledmap坐标到元素类型之间的映射关系。

进一步地,所述系统名映射池含有Tiledmap坐标到系统名之间的映射关系。

进一步地,所述坐标点映射池含有所述Tiledmap坐标到玩家坐标之间的映射关系。

进一步地,所述业务类型映射池含有Tiledmap坐标到业务类型之间的映射关系。

进一步地,所述步骤S2具体如下:

S21、加载tmx文件;

S22、令x=1,读取第x个对象点中的各个标签,并根据连接符号将标签分割成标签名和字符串数组;

S23、对所述字符串数组进行解析,分别形成元素类型映射池、系统名映射池、坐标点映射池和业务类型映射池;

S24、判断当前对象点是否为最后一个对象点,若是,则进行步骤S3,若否,则令x=x+1并重复步骤S22至步骤S24。

采用上述技术方案后,本发明与背景技术相比,具有如下优点:

本发明的方法能够智能分析tmx文件中的所有对象点,并将数据转换为JavaScript和Erlang都能识别的配置文件,在游戏启动时就会被自动加载到内存中,实现在打开界面时无需解析tmx文件,而是直接从内存中读取地图数据,避免了界面的卡顿,且使服务器也可以读取到地图数据。

附图说明

图1为本发明方法的整体流程示意图;

图2为本发明步骤S2的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

如图1所示,一种基于Tiledmap的地图数据导出方法,包括如下步骤:

S1、设置对象点的标签,所述标签由标签名、连接符号及对应的数据组成;所述标签名包括元素类型、系统名、坐标点和业务类型;所述连接符号为下划线。

所述元素类型用于标记该对象点对应的地图元素是什么类型的,比如城墙、草地等等;所述系统名用于标记该对象点是属于哪个系统的;所述坐标点用于标记该对象点所在的Tilemap坐标;所述业务类型用于标记该对象点是应用于哪个业务的。

S2、加载tmx文件,并解析每个对象点,形成Tiledmap坐标与各标签的映射关系池;

所述映射关系池包括元素类型映射池、系统名映射池、坐标点映射池和业务类型映射池。所述元素类型映射池含有Tiledmap坐标到元素类型之间的映射关系。所述系统名映射池含有Tiledmap坐标到系统名之间的映射关系。所述坐标点映射池含有所述Tiledmap坐标到玩家坐标之间的映射关系。所述业务类型映射池含有Tiledmap坐标到业务类型之间的映射关系。

如图2所示,所述步骤S2具体如下:

S21、加载tmx文件;

S22、令x=1,读取第x个对象点中的各个标签,并根据下划线将标签分割成标签名和字符串数组;

S23、对所述字符串数组进行解析,分别形成元素类型映射池、系统名映射池、坐标点映射池和业务类型映射池;

S24、判断当前对象点是否为最后一个对象点,若是,则进行步骤S3,若否,则令x=x+1并重复步骤S22至步骤S24。

S3、将所述映射关系池转化为相应的JavaScript代码或Erlang代码,并生成配置文件。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

相关技术
  • 一种基于Tiledmap的地图数据导出方法
  • 一种基于模板的数据导出方法、装置、介质和设备
技术分类

06120112827911