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

技术编号:31317805 阅读:13 留言:0更新日期:2021-12-12 23:58
本发明专利技术公开了一种大地图可视区域分帧更新的方法,分若干帧逐步更新所述大地图可视区域,具体包括如下步骤:S1、运行第一帧,对屏幕范围外的地图元素进行回收;S2、运行第二帧,对屏幕范围内该加载的元素进行加载;S3、运行第三帧,对屏幕范围内该回收的元素进行回收;S4、运行第四帧,对屏幕范围内已加载的元素进行业务刷新。本发明专利技术采用分帧更新的方法实现大地图可视区域的更新,能有效缓解游戏引擎的压力,避免游戏的卡顿,提升玩家的游戏体验。提升玩家的游戏体验。提升玩家的游戏体验。

【技术实现步骤摘要】
一种大地图可视区域分帧更新的方法


[0001]本专利技术涉及计算机
,特别涉及一种大地图可视区域分帧更新的方法。

技术介绍

[0002]在大地图玩法的中,经常会出现大量玩家对某一区域进行频繁的操作,为了保证实时性,手机端就会不断接收到服务器发送过来的新地图数据,同时玩家频繁的滑动地图之后,由于不同位置的地图对应的数据和画面也是不同的,所以手机端就会不断的进行计算以及画面的刷新。
[0003]数据实时更新之后,需要对原始数据进行计算才能得出业务所需的数据,这是第一步;数据计算完之后,需要对屏幕范围内的地图进行画面的刷新,这是第二步。这两步都对游戏引擎造成压力,导致游戏画面卡顿。

技术实现思路

[0004]为解决上述问题,本专利技术提供了一种大地图可视区域分帧更新的方法。
[0005]本专利技术采用以下技术方案:
[0006]一种大地图可视区域分帧更新的方法,分若干帧逐步更新所述大地图可视区域,具体包括如下步骤:
[0007]S1、运行第一帧,对屏幕范围外的地图元素进行回收;
[0008]S2、运行第二帧,对屏幕范围内该加载的元素进行加载;
[0009]S3、运行第三帧,对屏幕范围内该回收的元素进行回收;
[0010]S4、运行第四帧,对屏幕范围内已加载的元素进行业务刷新。
[0011]进一步地,所述步骤S1包括如下步骤:
[0012]S11、计算出屏幕可视区域的地图范围以及可视区域的坐标集B;
[0013]S12、遍历加载到地图上的元素,判断该元素是否在所述坐标集B中,若是则保留,若否则回收。
[0014]进一步地,所述屏幕可视区域的地图范围以及可视区域的坐标集B的计算方法如下:
[0015]S111、获取屏幕的宽度W和高度H;
[0016]S112、通过计算地图左下角坐标与屏幕左下角坐标的差值,得出屏幕左下角坐标对应地图中的实际坐标A;
[0017]S113、通过所述实际坐标A、屏幕的宽度W和高度H,计算出屏幕可视区域的地图范围以及可视区域的坐标集B。
[0018]进一步地,所述步骤S2包括如下步骤:
[0019]S21、重新计算地图左下角坐标与屏幕左下角坐标的差值,得出新的屏幕左下角坐标对应地图中的实际坐标C;
[0020]S22、通过所述实际坐标C、屏幕的宽度W和高度H,计算出新的屏幕可视区域的地图
范围以及可视区域的坐标集D;
[0021]S23、对于在所述坐标集D中同时不在所述坐标集B中的坐标所对应的地图元素进行加载。
[0022]进一步地,所述步骤S3包括如下步骤:
[0023]S31、将所述坐标集B和坐标集D中的坐标两两配对,得到坐标对(b
m
,d
n
);
[0024]S32、找出b
m
=d
n
的坐标对,并根据服务器下发的数据判断b
m
对应的位置上是否有玩家,若有则在坐标b
m
的位置上加载相应的地图元素,若无则将坐标b
m
的位置上的地图元素回收。
[0025]进一步地,所述步骤S4具体为:逐个读取所述坐标集D中的坐标,并判断该坐标的位置上是否有地图元素,若是则对该坐标位置上的地图元素进行业务刷新,若否则不作处理。
[0026]进一步地,所述屏幕为手机屏幕、平板屏幕或电脑屏幕。
[0027]采用上述技术方案后,本专利技术与
技术介绍
相比,具有如下优点:
[0028]本专利技术通过将数据计算、地图元素资源的移除、地图元素的加载、地图元素的刷新这几个环节放在不同帧中进行处理,有效缓解了游戏引擎的压力,避免游戏的卡顿,提升玩家的游戏体验。
附图说明
[0029]图1为本专利技术的分帧更新方法的流程图;
[0030]图2为实施例中的步骤S1的流程图;
[0031]图3为实施例中的步骤S2的流程图;
[0032]图4为实施例中的步骤S3的流程图;
[0033]图5为实施例中的步骤S4的流程图。
具体实施方式
[0034]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0035]实施例
[0036]如图1所示,本实施例以手机屏幕为例进行说明,一种大地图可视区域分帧更新的方法,分若干帧逐步更新大地图可视区域,具体包括如下步骤:
[0037]S1、运行第一帧,对屏幕范围外的地图元素进行回收;
[0038]如图2所示,步骤S1包括如下步骤:
[0039]S11、计算出手机屏幕可视区域的地图范围以及可视区域的坐标集B;
[0040]S12、遍历加载到地图上的元素,判断该元素是否在坐标集B中,若是则保留,若否则回收。
[0041]其中,手机屏幕可视区域的地图范围以及可视区域的坐标集B的计算方法如下:
[0042]S111、获取手机屏幕的宽度W和高度H;
[0043]S112、通过计算地图左下角坐标与手机屏幕左下角坐标的差值,得出手机屏幕左
下角坐标对应地图中的实际坐标A;
[0044]S113、通过实际坐标A、屏幕的宽度W和高度H,计算出手机屏幕可视区域的地图范围以及可视区域的坐标集B。
[0045]S2、运行第二帧,对屏幕范围内该加载的元素进行加载;
[0046]如图3所示,步骤S2包括如下步骤:
[0047]S21、重新计算地图左下角坐标与屏幕左下角坐标的差值,得出新的屏幕左下角坐标对应地图中的实际坐标C;此时的坐标C的值与第一帧中的坐标A的值是不一样的,因为玩家会对地图进行滑动;
[0048]S22、通过实际坐标C、屏幕的宽度W和高度H,计算出新的屏幕可视区域的地图范围以及可视区域的坐标集D;
[0049]S23、对于在坐标集D中同时不在坐标集B中的坐标所对应的地图元素进行加载。
[0050]S3、运行第三帧,对屏幕范围内该回收的元素进行回收;
[0051]如图4所示,步骤S3包括如下步骤:
[0052]S31、将坐标集B和坐标集D中的坐标两两配对,得到坐标对(b
m
,d
n
);
[0053]S32、找出b
m
=d
n
的坐标对,并根据服务器下发的数据判断b
m
对应的位置上是否有玩家,若有则在坐标b
m
的位置上加载相应的地图元素,若无则将坐标b
m
的位置上的地图元素回收。
[0054]S4、运行第四帧,对屏幕范围内已加载的元素进行业务刷新。
[0055]如图5所示,步骤S4具体为:逐个读取坐标集D中的坐标,并判断该坐标的位置上是否有地图元素,若是则对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种大地图可视区域分帧更新的方法,其特征在于:分若干帧逐步更新所述大地图可视区域,具体包括如下步骤:S1、运行第一帧,对屏幕范围外的地图元素进行回收;S2、运行第二帧,对屏幕范围内该加载的元素进行加载;S3、运行第三帧,对屏幕范围内该回收的元素进行回收;S4、运行第四帧,对屏幕范围内已加载的元素进行业务刷新。2.如权利要求1所述的一种大地图可视区域分帧更新的方法,其特征在于:所述步骤S1包括如下步骤:S11、计算出屏幕可视区域的地图范围以及可视区域的坐标集B;S12、遍历加载到地图上的元素,判断该元素是否在所述坐标集B中,若是则保留,若否则回收。3.如权利要求2所述的一种大地图可视区域分帧更新的方法,其特征在于:所述屏幕可视区域的地图范围以及可视区域的坐标集B的计算方法如下:S111、获取屏幕的宽度W和高度H;S112、通过计算地图左下角坐标与屏幕左下角坐标的差值,得出屏幕左下角坐标对应地图中的实际坐标A;S113、通过所述实际坐标A、屏幕的宽度W和高度H,计算出屏幕可视区域的地图范围以及可视区域的坐标集B。4.如权利要求3所述的一种大地图可视区域分帧更新的方法,其特征在于:所述步骤S2包括如下步骤:S21、重新计算地图左下角坐标与屏幕左下角坐标的差值,得出新的屏幕左下角坐标对应地图中的...

【专利技术属性】
技术研发人员:张汉东
申请(专利权)人:厦门极致互动网络技术股份有限公司
类型:发明
国别省市:

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

1