一种游戏地图显示方法及其装置、移动客户端、电脑客户端的制作方法_4

文档序号:9442796阅读:来源:国知局
大,从而将其右移;如果当前新加入的地点按钮与其相邻的左侧的地点按钮发生重叠,调整与其相邻的左侧的地点按钮在X轴上的坐标值,将左侧的地点按钮的屏幕坐标系的X轴坐标值减小,从而将其左移;从而消除当前新加入的地点按钮与其相邻的左右两边的地点按钮的重叠。由于与当前新加入的地点按钮相邻的左右边地点按钮在X轴上的位置发生了改变,有可能会跟它们相邻的地点按钮重叠,如果重叠了,继续调整与它们相邻的地点按钮在X轴上的位置,让与它们相邻的地点按钮左移或右移,以此继续下去,直到显示序列中的全部地点按钮在X轴上都不重叠,调整之后,保存调整后的显示序列中的地点按钮的最新坐标值。
[0150]以智能终端屏幕显示的游戏地图左侧的未显示区域的地点按钮为例,假设A[j]在B中的对应点为t,即A[j] =B[t],保持B[t]不动,对于最新加入的地点按钮的下边的地点按钮,遍历到B[l]进行位置调整,假设遍历到了 B[j],0〈j〈t若B[j].y>B[j+l].y — L,表示上边地点按钮在Y轴上重叠,把B [j].y调整为B [j+1].y-Lo
[0151]对于最新加入的地点按钮的上边的地点按钮遍历B[t+1]到B[i],假设遍历为B [j],t+l〈 j〈i,若B [j].y〈B [j+1].y+L,表示上边地点按钮在Y轴上重叠,把B [j].y调整为B[j+l].y+L0
[0152]对地点按钮重叠的显示序列的坐标值进行调整后,进入步骤S233。
[0153]S233:判断是否所有未显示区域的地点按钮都已经排序完成并加入到显示序列中;如果否,继续回到S231 ;如果是,则执行步骤S234。
[0154]S234:若显示序列中所有排好序的未显示区域的地点按钮超出屏幕边界,则进行边界调整。
[0155]判断显示序列中所有已排好序的未显示区域的地点按钮相对于屏幕显示区域的非方位方向的屏幕坐标系的坐标值是否超出显示区域边界的坐标值,如果是再进行调整。
[0156]具体地,对于屏幕左右两边的未显示区域,如果其显示序列中的地点按钮的屏幕坐标系Y轴坐标值小于0,则同时增加所有地点按钮的屏幕坐标系Y轴坐标值,所有地点按钮往上移一段距离,使得最下边的地点按钮不超出屏幕下边界;如果显示序列中的最上边的地点按钮的屏幕坐标系Y轴坐标值大于屏幕宽度W,则同时减少所有地点按钮的屏幕坐标系Y轴坐标值,所有地点按钮往下移一段距离,使得最上边的地点按钮不超出屏幕上边界。对于屏幕上下两边的未显示区域,如果显示序列中的地点按钮的屏幕坐标系X轴坐标值小于0,则同时增加所有地点按钮的屏幕坐标系X轴坐标值,所有地点按钮往右移一段距离,使得最左侧的地点按钮不超出屏幕下边界;如果显示序列中的最右边的地点按钮的屏幕坐标系X轴坐标值大于屏幕长度h,则同时减少所有地点按钮的屏幕坐标系X轴坐标值,所有地点按钮往左移一段距离,使得最右边的地点按钮不超出屏幕右边界。
[0157]S235:将显示序列中的地点按钮按顺序显示在屏幕显示区域对应方位的边缘上。
[0158]由于地点按钮在屏幕上显示的位置与其在显示序列中的坐标值对应,在步骤S232或步骤S234中,均是对显示序列中地点按钮的相对于屏幕显示区域的非方位方向的坐标值的修改。由于需要在显示时,将未显示区域的地点按钮显示在其相对于屏幕显示区域的对应方位的屏幕边缘,因此,首先需对显示序列中地点按钮的方位方向的坐标值调整至于与其对应的屏幕边缘的坐标值后,再按照更新后的显示序列的坐标参数显示。
[0159]具体地,地点按钮为半径为L的圆形按钮,对于屏幕左侧的未显示区域,需将左显示序列中的地点按钮显示在屏幕的左侧,因此将该地点按钮的屏幕坐标系的X轴坐标值设置为L ;对于屏幕右边的未显示区域,需将右显示序列中的地点按钮显示在屏幕的右边,因此将该地点按钮的屏幕坐标系的X轴坐标值设为屏幕长度(h-L);对于屏幕下边的未显示区域,需将下显示序列中的地点按钮显示在屏幕的下边,因此需将该地点按钮的屏幕坐标系的Y轴坐标值设置为L ;对于屏幕上边的未显示区域,需将上显示序列中的地点按钮显示在屏幕的上边,即将该地点按钮的Y轴坐标值设置为屏幕宽度(w-L)。
[0160]以下对本实施例2的游戏地图显示方法的过程和具体应用进行进一步的说明描述:
[0161]以智能终端屏幕显示的游戏地图左侧的未显示区域的地点按钮为例,请参阅图12,其为智能终端显示屏幕与游戏地图的初始状态,左侧区域为游戏地图上的未显示区域,上面有第一地点按钮11,第二地点按钮12和第三地点按钮13,右边区域为智能终端显示屏幕的屏幕显示区域,有第四地点按钮14。根据步骤S21判断屏幕是否移动,如果移动了,获得移动量,由步骤S22查找到第一地点按钮11,第二地点按钮12和第三地点按钮13位于屏幕左侧的未显示区域,并根据这三个地点按钮的X轴坐标值由小到大进行了排序,顺序为:第三地点按钮13、第一地点按钮11和第二地点按钮12。接下来,由步骤S231遍历未显示区域的地点按钮,根据地点按钮的对应坐标值进行逐个排序,加入显示序列,首先由X轴坐标值最小的第三地点按钮13开始,排序后如图13所示,步骤S232判断没出现地点按钮重叠,不用调整位置,步骤S233判断还有地点按钮没有加入显示序列,回到步骤S231,接着第一地点按钮11加入显示序列,排序后如图14所示,步骤S232判断没出现地点按钮重叠,不用调整位置,步骤S233判断还有地点按钮没有加入显示序列,回到步骤S231,接着第二地点按钮12加入显示序列,排序后如图15所示;步骤S232判断出现了地点按钮重叠,如图16所示,保持最新加入的第二地点按钮12不动,第一地点按钮11向上移离开第二地点按钮12,第三地点按钮13向下移离开第二地点按钮12,步骤S233判断所有未显示区域的地点按钮都加入了显示序列,接下来,步骤S234判断所有显示序列中的地点按钮坐标没有超出屏幕边界,最后步骤S235将显示序列中未显示区域的第一地点按钮11,第二地点按钮12和第三地点按钮13在屏幕边缘按顺序显示。
[0162]如果游戏地图继续往左拖动,如图17所示,第四地点按钮14也会进入未显示区域,采用上述的方法步骤,如图18所示,第四地点按钮14插入到第一地点按钮11和第二地点按钮12之间,如图19所示,再保持第四地点按钮14不动,上移第一地点按钮11,下移第二地点按钮12和第三地点按钮13,完成排序,最后显示到屏幕左侧边缘。
[0163]相对于实施例1,本实施例2的游戏地图显示方法对未显示区域的地点按钮的显示位置进行了进一步的调整,实现了在游戏地图上的地点按钮从屏幕显示区域到未显示区域过渡的过程中,地点按钮从屏幕显示区域的游戏地图上的位置切换到屏幕显示区域对应的边缘位置时,地点按钮位于屏幕显示区域的边缘的位置与其在原游戏地图上的位置接近或一致,以达到一个平滑衔接的效果,进一步增加了玩家的游戏体验感。
[0164]基于上述实施例2的游戏地图显示方法,本发明还提供了一种游戏地图显示装置。请参阅图20,该移动智能终端游戏地图显示装置包括地图移动处理模块21,地点按钮查找模块22和显示模块23。其中,该游戏地图移动处理模块21用于判断游戏地图是否被拖动,获取游戏地图移动量,如果游戏地图移动,将移动量信息发到地点按钮查找模块22 ;该地点按钮查找模块22用于在每帧游戏地图显示时,查找游戏地图中当前屏幕显示区域范围以外的未显示区域的地点按钮,并将这些地点按钮的信息发送到显示模块23 ;该显示模块23用于接收地点按钮查找模块22发送来的未显示区域的地点按钮信息,将这些地点按钮根据中心点的X、Y轴坐标值进行排序,显示在屏幕显示区域上。
[0165]具体地,所述地点按钮查找模块22包括坐标转换子模块221、地点按钮判断子模块222和储存子模块223。其中,该坐标转换子模块221用于接收游戏地图移动处理模块21发送来的游戏地图移动量,根据预先建立的游戏地图坐标系和屏幕坐标系、及游戏地图坐标系和屏幕坐标系的关联关系,将地点按钮在游戏地图坐标系中的中心坐标映射到屏幕坐标系中并发送到地点按钮判断子模块222 ;该地点按钮判断子模块222用于判断各地点按钮是否在所述游戏地图中当前屏幕显示区域范围以外的未显示区域,并将未显示区域的地点按钮信息发送到储存子模块223 ;该储存子模块223用于接收地点按钮判断子模块222发送来的未显示区域的地点按钮信息,并根据这些地点按钮的中心坐标值的大小有序地保存。
[0166]具体的,该坐标转换子模块221进一步用于将地点按钮的中心坐标(xu,yu)经过变换T,转化为屏幕坐标系U的值,Xu= X ,+T1^yu= y V+T2,这里T1是游戏地图在X轴的移动量,游戏地图向左移动!\为负量,向右移动,T i为正量;T 2是游戏地图在Y轴的移动量,游戏地图向下移动1~2为负量,向上移动,T 2为正量。
[0167]该地点按钮判断子模块222进一步用于通过获取移动智能终端的屏幕分辨率参数,得到屏幕的长h和宽W,判断\是否小于0,小于O则表示该地点按钮处于屏幕显示区域的左侧未显示区域,判断\是否大于h,大于h则表示该地点按钮处于屏幕显示区域的右边未显示区域;同理,判断yu是否小于0,小于O则表示该地点按钮处于屏幕显示区域的下边未显示区域,判断yu是否大于w,大于w则表示该地点按钮处于屏幕显示区域的上边未显示区域。
[0168]该储存子模块223用于创建存储序列,其接收地点按钮判断子模块222发送来的未显示区域的地点按钮信息,包括地点按钮中心点的X、Y轴坐标值和各地点按钮相对于屏幕显示区域的方位信息,根据地点按钮的坐标值有序地保存到一存储序列中。
[0169]具体地,该储存子模块223进一步用于建立表示左、右、下、上的4个方位的存储序列,根据地点按钮判断子模块222传送的各地点按钮相对于屏幕显示区域的方位信息,将各未显示区域的地点按钮分别存储在左、右、上、下四个存储序列中。进一步,每一个方位存储序列中的未显示区域的地点按钮根据其在屏幕坐标系中的相对于屏幕显示区域的方位方向的坐标值顺序地保存。
[0170]在每一个存储序列中,地点按钮的顺序排列的规则为:(I)对于屏幕显示区域左右两边未显示区域,以X轴坐标绝对值从大到小的顺序排列;该顺序是游戏地图在被拖动的过程中,X轴坐标绝对值越大的未显示区域的地点按钮越早出现在显示屏幕的左右两边边缘。即,对于屏幕显示区域左侧未显示区域,按照地点按钮在屏幕坐标系的X轴坐标值由小到大排列到左存储序列,对于屏幕显示区域右边未显示区域,按照地点按钮屏幕坐标系的X轴坐标值由大到小排列到右存储序列。(2)对于屏幕显示区域上下两边未显示区域,以Y轴坐标绝对值从大到小的顺序排列;该顺序是游戏地图在被拖动的过程中,Y轴坐标绝对值越大的未显示区域的地点按钮越早出现在屏幕显示区域的上下两边边缘。即,对于屏幕显示区域下边未显示区域,按照地点按钮屏幕坐标系的Y轴坐标值由小到大排列到下存储序列,对于屏幕显示区域上边未显示区域,按照地点按钮屏幕坐标系的Y轴坐标值由大到小排列到上存储序列。
[0171]以智能终端屏幕显示的游戏地图左侧的未显示区域的地点按钮为例,按照这些地点按钮的屏幕坐标系的X轴坐标值由小到大排序,保存到左存储序列数组A中,对于第j个地点按钮,其X轴的值要小于第j+Ι个地点按钮的值,即A[j].x〈 = A[j+l].Xo
[0172]请参阅图21,显示模块23包括地点按钮排序子模块231、重叠判断及调整子模块232、排序完成判断子模块233、边界判断及调整子模块234和序列显示子模块235。
[0173]其中,该地点按钮排序子模块231用于接收储存子模块223发送来的四个方向的存储序列,创建显示序列,其包括分别与4个方位的存储序列的对应的4个方位的显示序列;其遍历每个方位的存储序列,将每个方位的存储序列中的地点按钮逐个加入对应方位的显示序列;每加入一个地点按钮,就对显示序列中的地点按钮进行重新排序。其规则为:根据地点按钮相对于屏幕显示区域的非方位方向的坐标值由小到大进行排序。
[0174]每加入一个新的地点按钮至显示序列进行重新排序后,该重叠判断及调整子模块232用于对显示序列中的点按钮进行重叠判断与调整。所述重叠判断及调整子模块具体用于判断新加入的地点按钮是否与显示序列中其他地点按钮重叠;若重叠,该重叠判断及调整子模块调整显示序列中地点按钮相对于屏幕显示区域的非方位方向的坐标值,以调整地点按钮在屏幕边缘上的显示位置。
[0175]该排序完成判断子模块233用于在所述重叠判断及调整子模块232判断完显示序列中全部地点按钮在X轴或Y轴上不重叠后,再判断是否所有未显示区域的地点按钮都已经加入到显示序列中并完成排序;如果否,则由地点按钮排序子模块231再加入新的地点按钮至显示序列。
[0176]该边界判断及调整子模块234用于在排序完成模块233判断所有未显示区域的地点按钮都已经完成排序并记录在显示序列中后,判断所述显示序列中所有排好序的未显示区域的地点按钮超出屏幕边界;如果超出屏幕边界,则进行边界调整。
[0177]该序列显示子模块235用于将显示序列中的地点按钮按顺序显示在屏幕显示区域对应方位的边缘上。
[0178]具体地,对于屏幕左侧未显示区域,该地点按钮排序子模块231进一步用于:遍历储存子模块223发送来的左存储序列中的未显示区域的地点按钮,该左存储序列中的未显示区域的地点按钮已经是按照屏幕坐标系的X轴坐标值由小到大的顺序排列。对该左存储序列中的未显示区域的地点按钮,逐个加入左显示序列;每加入一个地点按钮时,都根据地点按钮Y轴的坐标值由小到大的排序规则,对左显示序列中所有的地点按钮进行重新排序。
[0179]同理,对于屏幕右边未显示区域,该地点按钮排序子模块231进一步用于:遍历储存子模块223发送来的右存储序列中未显示区域的地点按钮,该右存储序列中的未显示区域的地点按钮已经是按照屏幕坐标系X轴坐标值由大到小的顺序排列。对该右存储序列中的未显示区域的地点按钮,逐个加入右显示序列;每加入一个地点按钮时,都根据地点按钮Y轴的坐标值由小到大的排序规则,对右显示序列中所有的地点按钮进行重新排序。
[0180]对于屏幕下边未显示区域,该地点按钮排序子模块231进一步用于:遍历储存子模块223发送来的下存储序列中未显示区域的地点按钮,该下存储序列中的未显示区域的地点按钮已经是按照屏幕坐标系Y轴坐标值由小到大的顺序排列。对该下存储序列中的未显示区域的地点按钮,逐个加入下显示序列;每加入一个地点按钮时,都根据地点按钮X轴的坐标值由小到大的排序规则,对下显示序列中所有的地点按钮进行重新排序。
[
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1