一种基于编程语言流畅加载游戏地图的方法以及电子设备与流程

文档序号:18168026发布日期:2019-07-13 09:44阅读:231来源:国知局
一种基于编程语言流畅加载游戏地图的方法以及电子设备与流程

本发明涉及编程语言领域,尤其涉及一种基于编程语言流畅加载游戏地图的方法以及电子设备。



背景技术:

现有的角色游戏,用户往往是控制游戏角色在游戏地图中进行相应的操作,例如,控制游戏角色与电脑角色进行相应的pk操作等等。

也就是说,游戏地图是游戏的重要组成部分,如果游戏地图缺失或者游戏地图加载不完全,游戏将出现异常。

游戏地图常用的编辑器为:tiledmap,而使用tiledmap地图编辑器导出的.tmx文件加载和解析容易出现卡顿的问题,效率也较为低下,在角色移动的过程中由于每次都需要重新绘制tiledmap地图,导致角色移动的效果显得不流畅。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供一种基于编程语言流畅加载游戏地图的方法以及电子设备,旨在解决现有技术无法流畅加载游戏地图的问题。

本发明的技术方案如下:

一种基于编程语言流畅加载游戏地图的方法,其包括步骤:

a、预先编辑用于读取游戏地图的编程语言,并通过所述编程语言将读取得到的游戏地图分割为多张游戏图片;

b、获取各张游戏图片对应的游戏对象,并记录游戏对象对应的属性信息,以及获取各张游戏图片对应的游戏元素,并记录游戏元素对应的属性信息;

c、将游戏对象对应的属性信息和游戏元素对应的属性信息转化为json文件;

d、当运行游戏时,对多张游戏图片进行合并,以及读取所述json文件,并根据json文件获取游戏对象和游戏元素,以及将游戏对象和游戏元素显示于游戏地图中,以完成游戏地图的加载。

所述的基于编程语言流畅加载游戏地图的方法,其中,所述步骤a之前包括:

将所述游戏地图按照从上到下的分层方式分为多个游戏层,并将最上方的游戏层定义为游戏元素层,以及将游戏元素层下方的游戏层定义为游戏对象层,并将其它游戏层定义为地表图层。

所述的基于编程语言流畅加载游戏地图的方法,其中,所述步骤a具体包括:

a1、编辑用于读取游戏地图的python编程语言;

a2、通过所述python编程语言读取游戏地图,并将游戏地图分割为相同分辨率的游戏图片。

所述的基于编程语言流畅加载游戏地图的方法,其中,所述步骤b中:

所述记录游戏对象对应的属性信息的步骤具体包括:记录游戏对象的位置信息,以及记录对应游戏图片的名称;

所述游戏元素对应的属性信息的步骤具体包括:记录游戏元素的可通行信息,以及记录游戏元素的可视化信息。

所述的基于编程语言流畅加载游戏地图的方法,其中,所述步骤c具体包括:

c1、获取游戏图片的名称,并根据游戏图片的名称对游戏图片进行归类,得到多个游戏类;

c2、将各个游戏类中各个游戏图片对应的游戏对象对应的属性信息和游戏元素对应的属性信息转化为json文件。

所述的基于编程语言流畅加载游戏地图的方法,其中,所述步骤d具体包括:

d1、当运行游戏时,创建一个游戏战斗场景,并在所述游戏战斗场景中读取所述游戏类中的游戏图片;

d2、对游戏图片进行合并,得到游戏地图,并获取游戏图片对应的json文件,以将游戏对象和游戏元素显示于所述战斗场景中。

所述的基于编程语言流畅加载游戏地图的方法,其中,所述步骤d2具体包括:

根据所述json文件获取游戏对象的属性信息,以及根据游戏对象的属性信息生成相应的图片物件,并将所述图片物件显示于所述战斗场景中;

根据所述json文件获取游戏元素的属性信息,并调用游戏元素的属性信息,以控制游戏角色移动至所述战斗场景的目标位置。

本发明还提供一种电子设备,其包括:

处理器,适于实现各指令,以及

存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:

预先编辑用于读取游戏地图的编程语言,并通过所述编程语言将读取得到的游戏地图分割为多张游戏图片;

获取各张游戏图片对应的游戏对象,并记录游戏对象对应的属性信息,以及获取各张游戏图片对应的游戏元素,并记录游戏元素对应的属性信息;

将游戏对象对应的属性信息和游戏元素对应的属性信息转化为json文件;

当运行游戏时,对多张游戏图片进行合并,以及读取所述json文件,并根据json文件获取游戏对象和游戏元素,以及将游戏对象和游戏元素显示于游戏地图中,以完成游戏地图的加载。

本发明还提供一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的基于编程语言流畅加载游戏地图的方法。

本发明还提供一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的基于编程语言流畅加载游戏地图的方法。

有益效果:通过本发明提供的方法,加快了游戏地图的创建速度,加载游戏地图的操作也不会卡顿,更加流畅。也就是说,本发明解决了现有技术无法流畅加载游戏地图的难题,使得用户在运行游戏时,不易出错,或者说不易发生游戏地图加载不完全或者加载失败的风险。

附图说明

图1为本发明基于编程语言流畅加载游戏地图的方法较佳实施例的流程图。

图2为本发明电子设备较佳实施例的结构框图。

具体实施方式

本发明提供一种基于编程语言流畅加载游戏地图的方法以及电子设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,一种基于编程语言流畅加载游戏地图的方法,其包括步骤:

s1、预先编辑用于读取游戏地图的编程语言,并通过所述编程语言将读取得到的游戏地图分割为多张游戏图片;

s2、获取各张游戏图片对应的游戏对象,并记录游戏对象对应的属性信息,以及获取各张游戏图片对应的游戏元素,并记录游戏元素对应的属性信息;

s3、将游戏对象对应的属性信息和游戏元素对应的属性信息转化为json文件;

s4、当运行游戏时,对多张游戏图片进行合并,以及读取所述json文件,并根据json文件获取游戏对象和游戏元素,以及将游戏对象和游戏元素显示于游戏地图中,以完成游戏地图的加载。

通过本发明提供的方法,不仅能够流畅加载游戏地图,同时,加载游戏地图的效率也得到了提高,不易出错,即使游戏频繁在游戏地图中移动,游戏地图也能匹配游戏角色的运动轨迹,并显示于电子设备中,使得用户能够尽情游戏。

优选的,所述步骤s1之前包括:

将所述游戏地图按照从上到下的分层方式分为多个游戏层,并将最上方的游戏层定义为游戏元素层,以及将游戏元素层下方的游戏层定义为游戏对象层,并将其它游戏层定义为地表图层。

所述游戏地图是指游戏角色移动的场景画面。

通过地图编辑器:tiledmap对游戏地图进行分层的操作,得到多个游戏层,其中,游戏层包括最上层的游戏元素层、中间层的游戏对象层,以及地表图层。

其中,tiledmap是用于编辑游戏地图的工具,在编辑完游戏地图后,能够生成对应的地图文件,游戏通过加载地图文件,使得游戏地图运行于电子设备中。

所述步骤s1中,所述编程语言具体是指可以是js代码,通过编写的编程语言读取整张地图,然后对整张地图进行分割,得到多张游戏图片。

优选的,游戏图片的张数可以是100张、也可以是1000张或者2000张,本发明并不对游戏图片的张数进行限定。

优选的,所述步骤s1具体包括:

s11、编辑用于读取游戏地图的python编程语言;

s12、通过所述python编程语言读取游戏地图,并将游戏地图分割为相同分辨率的游戏图片。

所述步骤s11中,本发明优选的编程是python,python与js代码相比,具有更简单和易编辑的特点。这样,便可以读取游戏地图。

所述步骤s12中,游戏图片的分辨率为512*512,这样,游戏图片便不会占用过多的存储空间。此外,将游戏图片分辨率设置为512*512的另一个原因在于提高本发明的通用性,由于部分电子设备不支持超过2048大小的单个游戏图片。

所述步骤s2中,由于游戏图片与游戏对象一一对应,因此,可通过游戏图片获取对应的游戏对象。

在获取游戏对象后,便可以记录游戏对象的属性信息、游戏元素和游戏元素对应的属性信息。

优选的,所述步骤s2中:

所述记录游戏对象对应的属性信息的步骤具体包括:记录游戏对象的位置信息,以及记录对应游戏图片的名称;

所述游戏元素对应的属性信息的步骤具体包括:记录游戏元素的可通行信息,以及记录游戏元素的可视化信息。

也就是说,所述游戏对象对应的属性信息包括游戏对象的位置信息和游戏图片的名称。

其中,游戏元素的可通行信息是指:通过tiledmap编辑器对特定的格子进行标注,使得被标注的格子能够移动通行。

游戏元素的可视化信息是指:通过tiledmap编辑器中对特定的格子进行标注,使得被标注格子内的物品(如游戏怪物)能够被用户直接查看。

所述步骤s3中,将步骤s2中得到的游戏对象对应的属性信息和游戏元素对应的属性信息分别转化为json文件。

其中,json文件javascriptobjectnotation,js对象简谱)是一种轻量级的数据交换格式。它基于ecmascript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得json成为理想的数据交换语言。具有易于阅读和编写的特点,同时也易于机器解析和生成,并有效地提升网络传输效率。

优选的,所述步骤s3具体包括:

s31、获取游戏图片的名称,并根据游戏图片的名称对游戏图片进行归类,得到多个游戏类;

s32、将各个游戏类中各个游戏图片对应的游戏对象对应的属性信息和游戏元素对应的属性信息转化为json文件。

所述步骤s31中,由于游戏图片具有多个,并且游戏图片具有唯一的id(游戏名称),这样,便可以根据游戏图片的名称对游戏图片进行分类,从而得到多个游戏类。

所述步骤s32中,在得到多个游戏类后,便可以将游戏类中各个游戏图片对应的游戏对象对应的属性信息和游戏元素对应的属性信息转化为json文件。也就是说,将游戏类作为一个游戏图片的整体,从而得到游戏类对应的json文件,从而大大降低josn文件的数量,便于管理和维护。

所述步骤s4中,由于游戏地图被分割成多张游戏图片,因此,在加载游戏地图时,需要对游戏图片进行“整合”或“拼接”。

优选的,所述步骤s4具体包括:

s41、当运行游戏时,创建一个游戏战斗场景,并在所述游戏战斗场景中读取所述游戏类中的游戏图片;

s42、对游戏图片进行合并,得到游戏地图,并获取游戏图片对应的json文件,以将游戏对象和游戏元素显示于所述战斗场景中。

所述步骤s41中,所述游戏战斗场景是指游戏角色与游戏角色之间的pk场景。

由于,游戏战斗场景至少涉及两个游戏角色,并且,游戏角色在战斗场景中移动更加频繁,因此,通过创建游戏战斗场景来测试对应的游戏地图是否能够完全加载。

所述步骤s42中,在将游戏图片合并后,便可以读取游戏图片对应的游戏对象和游戏元素,从而将游戏对象和游戏元素显示于创建的战斗场景中。

优选的,所述步骤s42具体包括:

根据所述json文件获取游戏对象的属性信息,以及根据游戏对象的属性信息生成相应的图片物件,并将所述图片物件显示于所述战斗场景中;

根据所述json文件获取游戏元素的属性信息,并调用游戏元素的属性信息,以控制游戏角色移动至所述战斗场景的目标位置。

所述图片物件是指游戏中的一些机关或者怪物。

这样,游戏地图便可以快速加载,大大提高了游戏地图的加载效率。

请参阅图2,本发明还提供一种电子设备10,其包括:

处理器110,适于实现各指令,以及

存储设备120,适于存储多条指令,所述指令适于由处理器加载并执行:

预先编辑用于读取游戏地图的编程语言,并通过所述编程语言将读取得到的游戏地图分割为多张游戏图片;

获取各张游戏图片对应的游戏对象,并记录游戏对象对应的属性信息,以及获取各张游戏图片对应的游戏元素,并记录游戏元素对应的属性信息;

将游戏对象对应的属性信息和游戏元素对应的属性信息转化为json文件;

当运行游戏时,对多张游戏图片进行合并,以及读取所述json文件,并根据json文件获取游戏对象和游戏元素,以及将游戏对象和游戏元素显示于游戏地图中,以完成游戏地图的加载。

所述处理器110可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acornriscmachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、任何其它这种配置。

存储设备120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于编程语言流畅加载游戏地图的方法对应的程序指令。处理器通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行基于编程语言流畅加载游戏地图的各种功能应用以及数据处理,即实现上述方法实施例中的基于编程语言流畅加载游戏地图的方法。

关于上述电子设备10的具体技术细节,已在上述步骤中详述,故此不做赘述。

本发明还提供一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的基于编程语言流畅加载游戏地图的方法。

本发明还提供一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的基于编程语言流畅加载游戏地图的方法。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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