一种大地图可视区域分帧更新的方法

文档序号:1944485 发布日期:2021-12-10 浏览:15次 >En<

阅读说明:本技术 一种大地图可视区域分帧更新的方法 (Method for updating visible region of geodetic map in frames ) 是由 张汉东 于 2021-09-16 设计创作,主要内容包括:本发明公开了一种大地图可视区域分帧更新的方法,分若干帧逐步更新所述大地图可视区域,具体包括如下步骤:S1、运行第一帧,对屏幕范围外的地图元素进行回收;S2、运行第二帧,对屏幕范围内该加载的元素进行加载;S3、运行第三帧,对屏幕范围内该回收的元素进行回收;S4、运行第四帧,对屏幕范围内已加载的元素进行业务刷新。本发明采用分帧更新的方法实现大地图可视区域的更新,能有效缓解游戏引擎的压力,避免游戏的卡顿,提升玩家的游戏体验。(The invention discloses a method for updating a visible area of a large map in frames, which gradually updates the visible area of the large map in a plurality of frames, and specifically comprises the following steps: s1, operating the first frame and recycling the map elements outside the screen range; s2, operating a second frame, and loading the loaded elements in the screen range; s3, operating a third frame, and recovering the recovered elements in the screen range; and S4, operating the fourth frame, and refreshing the loaded elements in the screen range. The invention adopts a frame updating method to realize the updating of the visible area of the geodetic map, can effectively relieve the pressure of a game engine, avoids the pause of the game and improves the game experience of players.)

一种大地图可视区域分帧更新的方法

技术领域

本发明涉及计算机技术领域,特别涉及一种大地图可视区域分帧更新的方法。

背景技术

在大地图玩法的中,经常会出现大量玩家对某一区域进行频繁的操作,为了保证实时性,手机端就会不断接收到服务器发送过来的新地图数据,同时玩家频繁的滑动地图之后,由于不同位置的地图对应的数据和画面也是不同的,所以手机端就会不断的进行计算以及画面的刷新。

数据实时更新之后,需要对原始数据进行计算才能得出业务所需的数据,这是第一步;数据计算完之后,需要对屏幕范围内的地图进行画面的刷新,这是第二步。这两步都对游戏引擎造成压力,导致游戏画面卡顿。

发明内容

为解决上述问题,本发明提供了一种大地图可视区域分帧更新的方法。

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

一种大地图可视区域分帧更新的方法,分若干帧逐步更新所述大地图可视区域,具体包括如下步骤:

S1、运行第一帧,对屏幕范围外的地图元素进行回收;

S2、运行第二帧,对屏幕范围内该加载的元素进行加载;

S3、运行第三帧,对屏幕范围内该回收的元素进行回收;

S4、运行第四帧,对屏幕范围内已加载的元素进行业务刷新。

进一步地,所述步骤S1包括如下步骤:

S11、计算出屏幕可视区域的地图范围以及可视区域的坐标集B;

S12、遍历加载到地图上的元素,判断该元素是否在所述坐标集B中,若是则保留,若否则回收。

进一步地,所述屏幕可视区域的地图范围以及可视区域的坐标集B的计算方法如下:

S111、获取屏幕的宽度W和高度H;

S112、通过计算地图左下角坐标与屏幕左下角坐标的差值,得出屏幕左下角坐标对应地图中的实际坐标A;

S113、通过所述实际坐标A、屏幕的宽度W和高度H,计算出屏幕可视区域的地图范围以及可视区域的坐标集B。

进一步地,所述步骤S2包括如下步骤:

S21、重新计算地图左下角坐标与屏幕左下角坐标的差值,得出新的屏幕左下角坐标对应地图中的实际坐标C;

S22、通过所述实际坐标C、屏幕的宽度W和高度H,计算出新的屏幕可视区域的地图范围以及可视区域的坐标集D;

S23、对于在所述坐标集D中同时不在所述坐标集B中的坐标所对应的地图元素进行加载。

进一步地,所述步骤S3包括如下步骤:

S31、将所述坐标集B和坐标集D中的坐标两两配对,得到坐标对(bm,dn);

S32、找出bm=dn的坐标对,并根据服务器下发的数据判断bm对应的位置上是否有玩家,若有则在坐标bm的位置上加载相应的地图元素,若无则将坐标bm的位置上的地图元素回收。

进一步地,所述步骤S4具体为:逐个读取所述坐标集D中的坐标,并判断该坐标的位置上是否有地图元素,若是则对该坐标位置上的地图元素进行业务刷新,若否则不作处理。

进一步地,所述屏幕为手机屏幕、平板屏幕或电脑屏幕。

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

本发明通过将数据计算、地图元素资源的移除、地图元素的加载、地图元素的刷新这几个环节放在不同帧中进行处理,有效缓解了游戏引擎的压力,避免游戏的卡顿,提升玩家的游戏体验。

附图说明

图1为本发明的分帧更新方法的流程图;

图2为实施例中的步骤S1的流程图;

图3为实施例中的步骤S2的流程图;

图4为实施例中的步骤S3的流程图;

图5为实施例中的步骤S4的流程图。

具体实施方式

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

实施例

如图1所示,本实施例以手机屏幕为例进行说明,一种大地图可视区域分帧更新的方法,分若干帧逐步更新大地图可视区域,具体包括如下步骤:

S1、运行第一帧,对屏幕范围外的地图元素进行回收;

如图2所示,步骤S1包括如下步骤:

S11、计算出手机屏幕可视区域的地图范围以及可视区域的坐标集B;

S12、遍历加载到地图上的元素,判断该元素是否在坐标集B中,若是则保留,若否则回收。

其中,手机屏幕可视区域的地图范围以及可视区域的坐标集B的计算方法如下:

S111、获取手机屏幕的宽度W和高度H;

S112、通过计算地图左下角坐标与手机屏幕左下角坐标的差值,得出手机屏幕左下角坐标对应地图中的实际坐标A;

S113、通过实际坐标A、屏幕的宽度W和高度H,计算出手机屏幕可视区域的地图范围以及可视区域的坐标集B。

S2、运行第二帧,对屏幕范围内该加载的元素进行加载;

如图3所示,步骤S2包括如下步骤:

S21、重新计算地图左下角坐标与屏幕左下角坐标的差值,得出新的屏幕左下角坐标对应地图中的实际坐标C;此时的坐标C的值与第一帧中的坐标A的值是不一样的,因为玩家会对地图进行滑动;

S22、通过实际坐标C、屏幕的宽度W和高度H,计算出新的屏幕可视区域的地图范围以及可视区域的坐标集D;

S23、对于在坐标集D中同时不在坐标集B中的坐标所对应的地图元素进行加载。

S3、运行第三帧,对屏幕范围内该回收的元素进行回收;

如图4所示,步骤S3包括如下步骤:

S31、将坐标集B和坐标集D中的坐标两两配对,得到坐标对(bm,dn);

S32、找出bm=dn的坐标对,并根据服务器下发的数据判断bm对应的位置上是否有玩家,若有则在坐标bm的位置上加载相应的地图元素,若无则将坐标bm的位置上的地图元素回收。

S4、运行第四帧,对屏幕范围内已加载的元素进行业务刷新。

如图5所示,步骤S4具体为:逐个读取坐标集D中的坐标,并判断该坐标的位置上是否有地图元素,若是则对该坐标位置上的地图元素进行业务刷新,若否则不作处理。例如:当前处于受击状态,那么地图元素就要显示着火的特效。

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

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:虚拟对象移动方法和装置、可读存储介质、电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类