本发明涉及计算机,具体而言,涉及一种同屏显示方法、装置、服务器和存储介质。
背景技术:
1、在大型多人在线游戏中,在同一个场景的玩家和角色非常多,一方面为了减少服务器与客户端的数据同步量,另一方面为了减轻客户端显示的角色数量太多造成的客户端的压力,则需要通过同屏算法减轻客户端显示的压力。
2、现有技术中,九宫格算法为其中一种同屏算法,九宫格算法可以根据固定格子的大小将场景分成多个格子,服务器维护目标对象所在位置周围的九宫格格子信息,将九宫格内所有的对象信息发给客户端,客户端显示九宫格内所有的对象,但是该九宫格算法对于每个对象的九宫格范围都相同,也就是每个对象同屏的范围均相同,因此无法精确控制不同对象同屏的范围。
技术实现思路
1、本发明的目的在于提供一种同屏显示方法、装置、服务器和存储介质,以解决现有技术中无法精确控制与对象同屏的范围的问题。
2、第一方面,本发明提供一种同屏显示方法,应用于服务器,所述服务器中存储有场景对应的多个同屏格子组以及每个所述同屏格子组中的每个同屏格子包括的对象,每个所述同屏格子组包括将所述场景按照同屏类型划分得到的多个相同尺寸的同屏格子,不同所述同屏格子组对应不同同屏类型,不同同屏类型对应不同尺寸的同屏格子;所述方法包括:
3、获取目标对象所属的同屏类型以及所述目标对象的当前位置信息;所述目标对象为所述场景中的任意一个对象;
4、根据所述目标对象所属的同屏类型,确定所述目标对象对应的目标同屏格子组;
5、根据所述目标对象的当前位置信息,在所述目标对象对应的目标同屏格子组中确定多个第一目标同屏格子;多个所述第一目标同屏格子中包括所述目标对象当前所在的同屏格子;
6、将多个所述第一目标同屏格子包括的对象确定为同屏显示区域的显示对象。
7、在可选的实施方式中,所述根据所述目标对象的当前位置信息,在所述目标对象对应的目标同屏格子组中确定多个第一目标同屏格子,包括:
8、根据所述目标对象的当前位置信息,在所述目标对象对应的目标同屏格子组中确定所述目标对象当前所在的同屏格子;
9、以所述目标对象当前所在的同屏格子为中心,在所述目标对象对应的目标同屏格子组中确定多个所述第一目标同屏格子。
10、在可选的实施方式中,在将多个所述第一目标同屏格子包括的对象确定为同屏显示区域的显示对象之后,所述方法还包括:
11、获取所述目标对象移动后的位置信息;
12、根据所述目标对象移动后的位置信息,在所述目标对象对应的目标同屏格子组中确定多个第二目标同屏格子;多个所述第二目标同屏格子中包括所述目标对象移动后所在的同屏格子;
13、根据多个所述第二目标同屏格子包括的对象和多个所述第一目标同屏格子包括的对象,更新所述同屏显示区域的显示对象。
14、在可选的实施方式中,所述根据多个所述第二目标同屏格子包括的对象和多个所述第一目标同屏格子包括的对象,更新所述同屏显示区域的显示对象,包括:
15、根据多个所述第二目标同屏格子包括的对象和多个所述第一目标同屏格子包括的对象,确定离开对象和新增对象;所述离开对象为存在于所述第一目标同屏格子且不存在于所述第二目标同屏格子中的对象,所述新增对象为存在于所述第二目标同屏格子且不存在于所述第一目标同屏格子中的对象;
16、将所述离开对象从所述同屏显示区域中删除,并将所述新增对象添加至所述同屏显示区域。
17、在可选的实施方式中,所述根据所述目标对象移动后的位置信息,在所述目标对象对应的目标同屏格子组中确定多个第二目标同屏格子,包括:
18、根据所述目标对象移动后的位置信息,在所述目标对象对应的目标同屏格子组中确定所述目标对象移动后所在的同屏格子;
19、以所述目标对象移动后所在的同屏格子为中心,在所述目标对象对应的目标同屏格子组中确定多个所述第二目标同屏格子。
20、在可选的实施方式中,所述方法还包括:
21、若所述目标对象为玩家对象且所述目标对象在任一个同屏格子组中移动后所在的同屏格子与移动前所在的同屏格子不同,则在所述任一个同屏格子组中将所述目标对象从所述移动前所在的同屏格子中删除,并将所述目标对象添加至所述移动后所在的同屏格子;
22、若所述目标对象为非玩家对象且所述目标对象在所述目标同频格子组中移动后所在的同屏格子与移动前所在的同屏格子不同,则在所述目标同频格子组中将所述目标对象从所述移动前所在的同屏格子中删除,并将所述目标对象添加至所述移动后所在的同屏格子。
23、在可选的实施方式中,所述方法还包括:
24、当检测到所述目标对象的搜索指令时,以所述目标对象的当前位置为中心,查找多个不同搜索范围内的对象;每个所述搜索范围根据相同尺寸的多个同屏格子确定,不同搜索范围中的同屏格子的尺寸不同。
25、第二方面,本发明提供一种同屏显示装置,应用于服务器,所述服务器中存储有场景对应的多个同屏格子组以及每个所述同屏格子组中的每个同屏格子包括的对象,每个所述同屏格子组包括将所述场景按照同屏类型划分得到的多个相同尺寸的同屏格子,不同所述同屏格子组对应不同同屏类型,不同同屏类型对应不同尺寸的同屏格子;所述装置包括:
26、位置获取模块,用于获取目标对象所属的同屏类型以及所述目标对象的当前位置信息;所述目标对象为所述场景中的任意一个对象;
27、同屏格子确定模块,用于根据所述目标对象所属的同屏类型,确定所述目标对象对应的目标同屏格子组;根据所述目标对象的当前位置信息,在所述目标对象对应的目标同屏格子组中确定多个第一目标同屏格子;多个所述第一目标同屏格子中包括所述目标对象当前所在的同屏格子;
28、显示内容确定模块,用于将多个所述第一目标同屏格子包括的对象确定为同屏显示区域的显示对象。
29、第三方面,本发明提供一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行的计算机程序以实现前述实施方式任一所述的同屏显示方法。
30、第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的同屏显示方法。
31、本发明实施例提供的同屏显示方法、装置、服务器和存储介质,服务器中存储有场景对应的多个同屏格子组以及每个同屏格子组中的每个同屏格子包括的对象,每个同屏格子组包括将场景按照同屏类型划分得到的多个相同尺寸的同屏格子,不同同屏格子组对应不同同屏类型,不同同屏类型对应不同尺寸的同屏格子,该方法包括:获取目标对象所属的同屏类型以及目标对象的当前位置信息,目标对象为场景中的任意一个对象,根据目标对象所属的同屏类型,确定目标对象对应的目标同屏格子组,根据目标对象的当前位置信息,在目标对象对应的目标同屏格子组中确定多个第一目标同屏格子,多个第一目标同屏格子中包括目标对象当前所在的同屏格子,将多个第一目标同屏格子包括的对象确定为同屏显示区域的显示对象。通过根据目标对象的同屏类型确定与目标对象同屏的范围,可以精确控制不同对象同屏的范围。