CN1924873A - 游戏地图的存储方法及装置、游戏地图的显示方法及系统 - Google Patents
游戏地图的存储方法及装置、游戏地图的显示方法及系统 Download PDFInfo
- Publication number
- CN1924873A CN1924873A CNA200610113222XA CN200610113222A CN1924873A CN 1924873 A CN1924873 A CN 1924873A CN A200610113222X A CNA200610113222X A CN A200610113222XA CN 200610113222 A CN200610113222 A CN 200610113222A CN 1924873 A CN1924873 A CN 1924873A
- Authority
- CN
- China
- Prior art keywords
- map
- block
- numbering
- player
- map block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了游戏地图的存储方法及装置、游戏地图的显示方法及装置,其中游戏地图的显示方法为:将游戏的游戏地图采用地图块方式存储;获取玩家的位置坐标,根据所述位置坐标确定可见场景对应的多个地图块;用二维数组存储所述地图块的编号;从保存的游戏地图中获取存储于二维数组中的编号对应的地图信息;绘制获取的地图信息,并在屏幕上输出;使用该方法,可以实现无缝游戏地图,并且减少游戏处理时的数据处理量,从而使游戏更为顺畅。
Description
技术领域
本发明涉及画面显示技术,尤其涉及游戏地图的存储方法及装置、游戏地图的显示方法及系统。
背景技术
游戏地图,也称为游戏的场景,是使玩家能融入游戏的重要要素,在游戏中,常规的方法是将不同的场景做成不同的地图,玩家需要切换地图来实现场景的变化,这样导致了在游戏过程中,切换场景时会出现时间或长或短的黑屏,这样会导致玩家的游戏体验降低,因此,在当前的电脑游戏中,更倾向于展现一个完整的游戏世界,玩家在游戏世界里面移动的时候,场景能及时变化显示不同的地貌,而无需切换游戏地图。
现有的一种无缝显示地图技术的核心思想是这样:对单张地图的显示进行改良,当玩家在一张地图的边缘,能看到另一张地图的时候,就载入另一张地图的可视部分,下面对该方法进行详细描述:
例如一个游戏有9个场景地图,分别用A、B、C、D、E、F、G、H和I表示,它们之间的位置关系如表1所示:
A | D | G |
B | E | H |
C | F | I |
表1、游戏场景位置
假设当前游戏中所加载的地图是F,显示的场景是草地,玩家在当前地图中保持向E移动的运动趋势,E显示的是雪地,当玩家的位置坐标到达需要显示E地图的场景时,为了避免出现加载新地图而出现黑屏的情况,而且保持玩家可视屏幕的连贯性,在玩家能看到E地图场景之前就要将地图E加载到内存当中,这样就实现了无缝地图。
但是使用该方法各个场景都是分开单独设计,不同的场景设计在不同的地图上,还需要设计额外的信息将不同的地图进行关联,增加了数据量,也增加了游戏过程中的计算量;并且,地图设计者无法直接浏览地图的全貌,所以如果两张地图的场景不一样,两张地图往往会有比较明显的边界,如上述的地图E和地图F,一张草地和一张雪地,实际中应该是一种雪地到草地渐变的过程,但是两张地图分开设计,很难实现渐变的效果,降低了玩家的用户体验。
发明内容
本发明要解决的技术问题是提供游戏地图的存储方法及装置、游戏地图的显示方法及系统,不需要设计额外的信息将不同的地图进行关联,降低游戏处理时的数据量。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的:
一种游戏地图的存储方法,包括:
将游戏的游戏地图分成地图块;
为每个地图块编号;
对地图块编号及其对应的地图信息进行保存。
优选的,所述地图快的尺寸一致。
优选的,所述游戏的游戏地图被设计为一张。
一种游戏地图的显示方法,包括:
将游戏的游戏地图采用地图块方式存储;
获取玩家的位置坐标,根据所述位置坐标确定可见场景对应的多个地图块;
用二维数组存储所述地图块的编号;
从保存的游戏地图中获取存储于二维数组中的编号对应的地图信息;
绘制获取的地图信息,并在屏幕上输出。
其中,所述游戏的游戏地图被设计成一张。
优选的,该方法还包括:
当玩家的位置坐标变化时,判断玩家的位置是否跨越了地图块,如果是,更新二维数组中的地图块编号,进入获取存储于二维数组中的编号对应的地图信息的步骤。
其中,所述更新为:在二维数组中将不可见的地图块编号删除,将新的可见的地图块编号增加到删除的位置。
一种游戏地图的存储装置,包括:
地图分块单元,用于将游戏地图分成地图块;
编号单元,用于对分成的地图块编号;
保存单元,用于保存地图块编号及其对应的地图信息。
一种游戏地图的显示系统,包括:
游戏地图存储装置,用于采用地图块的方式存储游戏的游戏地图;
地图块确定单元,用于获取玩家的位置坐标,并根据位置坐标确定可见场景对应的地图块;
地图块编号存储单元,用于创建二维数组存储空间,并将可见场景对应的地图块编号保存至所述二位数组;
信息获取单元,用于根据存储的地图块编号获取对应的地图块的地图信息;
绘制输出单元,用于根据所述地图信息绘制地图,并将绘制的地图在屏幕上输出。
优选的,该装置还包括:
位置判断单元,用于根据玩家的位置坐标判断玩家的位置是否跨越了地图块,如果是,还用于促使地图块编号存储单元更新存储的地图块编号。
其中,所述位置判断单元与地图块确定单元集成在一起。
以上技术方案可以看出,由于本发明将游戏地图设计为一张,所以不需要额外的数据去关联不同的地图,并且地图设计者可以直接浏览地图的全貌,方便了地图设计者,可以很容易的设计出场景渐变的游戏地图;在玩家位置发生变化时,对玩家的位置是否跨域地图块进行判断,当玩家位置跨越地图块时,对可见场景对应的地图块编号进行更新,从而使绘制的游戏地图也进行更新,使玩家的游戏流畅运行,提高了玩家的用户体验,而且更新时只将不可见的地图块编号进行更新,一直存在的地图块编号则保持不变,进一步降低了游戏处理时的数据量。
附图说明
图1为游戏地图的存储装置的结构图;
图2为游戏地图的存储方法的流程图;
图3为游戏地图的显示系统第一实施例的结构图;
图4为游戏地图的显示系统第二实施例的结构图;
图5为游戏地图的显示方法的流程图;
图6为游戏地图的显示方法第一实施例的具体流程图;
图7为游戏地图的显示方法第二实施例的具体流程图;
图8为游戏地图的显示方法第三实施例的具体流程图。
具体实施方式
本发明为游戏地图的存储方法及装置、游戏地图的显示方法及系统,为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
先介绍本发明提供的游戏地图的存储装置,参见图1,图1为游戏地图存储装置的结构图。
如图1所示,游戏地图的存储装置包括:地图分块单元(101),编号单元(102),保存单元(103),其中:
地图分块单元,用于将游戏地图分成地图块;
例如一张100*100的游戏地图,地图分块单元可以根据需要将该地图分成100个地图块,每个块为1*1;也可以分成10个地图块,每个块为10*10;具体怎样分块,分成多少块,由具体的游戏环境确定,本发明并不对此进行限定。
编号单元,用于对分成的地图块编号;
如一个9*9的游戏地图,被分成了9个地图块,它的编号可以如表2所示:
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
表2、地图块编号1
也可以如表3所示:
1,1 | 2,1 | 3,1 |
1,2 | 2,2 | 3,2 |
1,3 | 2,3 | 3,3 |
表3、地图块编号2
其中,表2采用的编号更加直观清楚,地图块的位置及地图块之间的位置关系可以直接通过编号看出来。当然还可以采用其他的编号方式,本说明书不对其进行穷举,也无法对其进行穷举,但是不管采用哪种编号方式都不影响本发明的实现,因此本发明并不对地图块的编号方式进行限定。
保存单元,用于保存地图块编号及其对应的地图信息。
将地图块的编号及其对应的地图信息进行保存,如表2所描述的地图编号,编号为(2,2)的地图块对应的地图信息是一片森林,则将(2,2)和一片森林作为一条记录进行保存。
下面介绍采用上述游戏地图的存储装置对游戏地图进行存储的方法,参见图2,图2为该方法的具体流程图。
步骤201、将游戏地图分成地图块;
游戏地图的划分根据游戏地图的大小,游戏的环境,以及玩家的需求进行划分;
步骤202、为每个地图块编号;
编号是互斥的,也就是每个地图块的编号都是唯一的,这样可以避免相同编号不同地图信息的情况;
步骤203、对地图块编号及其对应的地图信息进行保存。
从上可以看出,本发明提供的游戏地图的存储装置及方法采用分块的思想将大的游戏地图分成小的地图块进行保存,这样在读取地图信息时可以直接根据坐标找到对应的地图块,将比直接保存一个大的地图时查找地图信息更快。
进一步可以将游戏地图分成尺寸一致的地图块,不仅划分更为简单,而且可以很容易的确定地图块对应的地图范围,这样在存储地图信息时可以不存储地图块的坐标范围,减少了数据量;并且,如果游戏地图设计为一张,地图设计者可以直接浏览地图的全貌,可以避免不同的场景之间出现明显的分界,从而提高用户体验。
下面介绍本发明提供的游戏地图的显示方法及系统,参见图3,图3为本发明提供的游戏地图的显示系统第一实施例的结构图。
如图3所示,本发明提供的游戏地图的显示系统第一实施例包括:游戏地图存储装置(301),地图块确定单元(302),地图块编号存储单元(303),信息获取单元(304),绘制输出单元(305);其中:
游戏地图存储装置,用于采用地图块的方式存储游戏地图;它由三个单元组成:地图分块单元,编号单元和保存单元,其中地图分块单元用于将游戏地图分成地图块;编号单元用于对分成的地图块编号;保存单元用于保存地图块编号及其对应的地图信息;该装置即图1所描述的游戏地图的存储装置;
地图块确定单元,用于获取玩家的位置坐标,并根据位置坐标确定可见场景对应的地图块;
从外部游戏数据库获取玩家的位置坐标,再根据位置坐标确定其所处的地图块,从而确定可见场景对应的地图块;例如一个100*100的游戏地图,被分成100个地图块,地图块采用表2所描述的编号方式;或取的玩家的位置坐标是(35,35),则该玩家处于纵向第三个块,横向也是第三个块的那个地图块,则该玩家对应的地图块的编号为(4,4);然后假设可见场景对应的是一个3*3个地图块组成的场景,则以该地图块为中心得到可见场景对应的地图块分别为(3,3),(4,3),(5,3),(3,4),(4,4),(5,4),(3,5),(4,5)和(5,5);
地图块编号存储单元,用于创建二维数组存储空间,并将可见场景对应的地图块编号保存至所述二位数组;
接上例,保存如表4所示:
3,3 | 4,3 | 5,3 |
3,4 | 4,4 | 5,4 |
3,5 | 4,5 | 5,5 |
表4、地图块编号3
为了便于说明,本实施例中采用3*3的二维数组来表示可视场景,但是在实际应用中,为了使画面更为流畅,往往采用4*4,甚至是5*5的二维数组来存储,这是因为要将玩家的地图预先画好,因为玩家的未来动作是不可预见的,所以需要将部分玩家不可见的地图也进行绘制,从而抑制保持玩家画面的流畅;
信息获取单元,用于根据存储的地图块编号获取对应的地图块的地图信息;
从地图块编号存储单元获取可见场景对应的地图块编号后,从地图保存单元中取得对应的地图信息;因为每个编号及其对应的地图信息都在地图保存单元中保存,所以根据编号存储单元中的地图块编号就可以找到对应的地图信息;
绘制输出单元,用于根据所述地图信息绘制地图,并将绘制的地图在屏幕上输出。
地图信息包含有坐标及场景,所以绘制地图时只需要根据坐标然后确定场景,再进行绘制就可以得到游戏地图,然后再在屏幕上输出。
参见图4,图4为本发明提供的游戏地图的显示装置的第二实施例的结构图,本实施例与第一实施例的不同在于增加了一个位置判断单元。
如图4所示,游戏地图的显示系统的第二实施例包括:游戏地图存储装置(401),地图块确定单元(402),位置判断单元(403),地图块编号存储单元(404),信息获取单元(405),绘制输出单元(406);其中:
游戏地图存储装置用于采用地图块的方式存储游戏地图;
地图块确定单元用于获取玩家的位置坐标,并根据位置坐标确定可见场景对应的地图块;
位置判断单元用于在玩家位置坐标发生变化后,判断玩家的位置是否跨越了地图块,如果跨越了地图块还要促使地图块编号存储单元更新其存储的地图块编号;
假设一张地图100*100,划分为10*10块,每块大小为10*10,玩家当前位置坐标为(33,44),可算出玩家当前所在的块为第三行第四列,玩家横向移动一个步长,假设为8,可得新位置坐标为(41,44),新的块为第四行第四列,玩家横向跨越一个块;此时就需要促使地图块编号存储单元更新其存储的编号了,本发明提供了两种更新存储编号的方法:第一种就是完全更新,即根据玩家新的位置坐标,重新在二维数组中存储新的地图块编号,接上例,假设可见场景为3*3数量的地图块,二维数组中原先存储的地图块编号如表5所示:
2,3 | 3,3 | 4,3 |
2,4 | 3,4 | 4,4 |
2,5 | 3,5 | 4,5 |
表5、地图块编号4
采用第一种方法后,二维数组中存储的地图块编号如表6所示:
3,3 | 4,3 | 5,3 |
3,4 | 4,4 | 5,4 |
3,5 | 3,5 | 5,5 |
表6、地图块编号5
第二种方法是将不可见的可见场景对应的地图块的编号从二维数组中删除,再在删除后的位置增加新的可见地图块的编号,可以使用下述公式来计算需要修改的块:
index0=(index+offset)%size
其中,index是需要访问的数组下标,index0是真正访问到的数组下标,size是二维数组的尺寸,offset是二维数组在地图上移动的偏移量。地图块编号存储单元用于创建二维数组存储空间,并将可见场景对应的地图块编号保存至所述二位数组;偏移量的变化是和玩家角色移动相关的,采用普通的坐标系,玩家角色向右移动一格,偏移量则加1;还是采用第一种方法那个例子,数组名为数组b,则数组b[0][0]至b[0][2]存储的是块(2,3)至(2,5),b[1][0]至b[1][2]存储的是块(3,3)至(3,5),b[2][0]至b[2][2]存储的是块(4,3)至(4,5),当玩家横向移动一个块时,本应该重新为数组进行赋值,即b[0][0]至b[0][2]存储得是块(3,3)至(3,5),b[1][0]至b[1][2]存储得是块(4,3)至(4,5),b[2][0]至b[2][2]存储得是块(5,3)至(5,5),但为了减少计算量,将原有数组中得b[1][0]至b[1][2]和b[2][0]至b[2][2]的值不变,将(5,3)至(5,5)的地图块存储到原存储(2,3)至(2,5)的位置。该公式就是为了计算新加载地图块所应存储的数组下标,本例中,index=2,即(5,3)本应存储再数组b[2]一列,offset=1,size=3,得出index0=0,即存储在第0列,这样数组中存储的地图块编号如表7所示:
5,3 | 3,3 | 4,3 |
5,4 | 3,4 | 4,4 |
5,5 | 3,5 | 4,5 |
表7、地图块编号6
在实际应用中,位置判断单元可以与地图块确定单元集成在一起,如本实施例所描述,也可以作为一个独立的单元在游戏地图的显示装置中,当然还可以与其它的功能单元集成在一起,位置判断单元是否与其它功能单元集成并不影响本发明的实现,因此本发明并不对位置判断单元是否与其它功能单元集成进行限定;
信息获取单元用于根据存储的地图块编号获取对应的地图块的地图信息;
绘制输出单元用于根据所述地图信息绘制地图,并将绘制的地图在屏幕上输出。
从上可以看出,本实施例在地图显示装置中增加了一个位置判断单元,该单元能在玩家位置坐标变化时,对玩家的位置是否跨越了地图块进行判断,如果跨越了地图块,则会促使地图块编号存储单元更新其所保存的地图块编号,从而使输出的场景随着玩家位置坐标的变化而变化,保持了游戏的连贯性,也使游戏过程更为真实,玩家的用户体验更高。
下面介绍本发明提供的游戏地图的显示方法,参见图5,图5为游戏地图的显示方法的具体流程图。
如图5所示,本发明提供的游戏地图的显示方法的核心思想是:
步骤501、将游戏的游戏地图采用地图块方式存储;
保存游戏的过程采用的是本发明提供的游戏地图的保存方法,它的具体流程为:将游戏地图分成尺寸一致的地图块;为每个地图块编号;对地图块编号及其对应的地图信息进行存储;
举例说明:一张9*9的地图,分成9个块,每个块为3*3,对每个块编号,怎样编号在上面已有描述,这里不再赘述;将每个地图块编号及其对应的地图信息进行存储,因为每个地图块对应的地图范围不同,分成了9个块,每个块的大小是3*3,所以每个地图块对应的地图信息也不一样,都是该地图块中3*3地图范围内的场景;
步骤502、获取玩家的位置坐标,根据所述位置坐标确定可见场景对应的地图块;
玩家位置坐标的获取可以直接从游戏数据库中获取,因为玩家的每个信息都在游戏数据库中有保存;接上例,如获取的玩家位置坐标为(7,7),而地图块被分成了尺寸一致的地图块,则该玩家的位置处于横向第三个块,纵向也是第三个块的地图块,如果采用数字顺序编号,则该玩家处于第9个块;再根据玩家所处的地图块以及可见场景的大小确定可见场景对应的地图块,例如一张地图被分成10*10个地图块,一玩家所处的地图块编号为(5,5),可见场景的大小为3*3个地图块,则以玩家所处的地图块为中心,算出可见场景对应的地图块分别为(4,4),(4,5),(4,6),(5,4),(5,5),(5,6),(6,4),(6,5)和(6,6);在实际应用中,需要确定的地图块数量要大于可见场景的数量,例如可见场景为3*3的地图块,则需要确定的地图块可能是4*4或者更多,本说明书为了描述方便采用可见场景的大小作为需要确定的地图块大小,并不是对本发明的限制;
步骤503、用二维数组存储所述地图块的编号;
采用二维数组对确定的地图块进行保存,如步骤504确定的地图块,用一个3*3的二维数组保存如表8所示:
4,4 | 4,5 | 4,6 |
5,4 | 5,5 | 5,6 |
6,4 | 6,5 | 6,6 |
表8、地图块编号7
步骤504、从保存的游戏地图中获取存储于二维数组中的编号对应的地图信息;
由存储的地图块编号从存储的地图信息中查找出对应的信息,因为每个编号及其对应的地图信息都有保存,所以通过地图快编号可以很快地查找到对应的地图信息;
步骤505、绘制获取的地图信息,并在屏幕上输出。
从上可以看出,本发明提供的游戏地图的显示方法能够实现对地图的无缝显示,并且在显示时不需要考虑其他地图的信息,从而降低了显示游戏地图时的数据处理量。
参见图6,图6是本发明提供的游戏地图的显示方法的第一实施例的具体流程图。
步骤601、将游戏地图设计成一张;
将游戏地图设计成一张可以使地图设计者直接浏览地图的全貌,从而可以实现不同场景的渐变,使玩家看游戏地图的时候更加流畅,用户体验更高;
步骤602、将游戏地图分成尺寸一致的地图块;
游戏地图的分块根据游戏的具体环境以及玩家的需要进行划分,一般来说不要分的太小,分的太小数据量太大;也不要分的太大,太大玩家的可见场景不连贯,会降低游戏的趣味性;分成尺寸一致可以方便的确定每个地图块的坐标范围;
步骤603、将每个地图块编号,并将每个地图块的编号及其对应的地图信息存储;
上面介绍了地图块编号的方法,在这里不再赘述;
步骤604、获取玩家的位置坐标,并根据玩家的位置坐标确定其所处的地图块的编号;
步骤605、根据所述地图块的编号确定可见场景对应的地图块的编号;
步骤606、在二维数组中保存可见场景对应的地图块的编号;
步骤607、根据二维数组中的地图块的编号获取对应的地图信息;
步骤608、对获取的地图信息进行绘制,并在屏幕上输出。
本实施例将游戏地图设计成一张,这样地图设计者可以容易的设计出场景间渐变的效果,并且在存储地图信息时,不需要存储大量的附加信息,减少了显示游戏地图时的计算量。
参见图7,图7为本发明提供的游戏地图的显示方法第二实施例的具体流程图,本实施例与第一实施例的不同在于获取玩家的位置坐标时要判断玩家的位置是否跨越了地图块。
步骤701、获取玩家的位置坐标;
步骤702、判断玩家的位置是否跨越了地图块?如果是,进入步骤703,如果否,进入步骤706;
例如一个100*100的游戏地图,分成10*10块,每块大小为10*10,可见场景为3*3块,现在可见场景的地图块如表9所示:
4,4 | 4,5 | 4,6 |
5,4 | 5,5 | 5,6 |
6,4 | 6,5 | 6,6 |
表9、地图块编号8
先前玩家的位置坐标为(45,45),玩家所处的地图块编号为(5,5);步骤703、根据玩家的位置坐标确定其所处的地图块的编号;
例如获取的玩家位置坐标为(35,55),则玩家所处的地图块编号为(4,6);
这里步骤702和703也可以交换位置;702在前时,根据玩家的位置进行计算,判断玩家当前的位置与先前相比是否跨越了地图块;703在前时,先计算出玩家当前的地图块,然后再判断该地图块是否与先前的地图块一样,如果不一样则玩家的位置跨越了地图块;因此本发明并不对这两个步骤执行地先后顺序进行限定;
步骤704、根据所述地图块的编号确定可见场景对应的地图块的编号;
以地图块编号为(4,6)的地图块为中心,则此时3*3的可见场景对应的地图块编号分别为(3,5),(3,6),(3,7),(4,5),(4,6),(4,7),(5,5),(5,6),(5,7);
步骤705、将可将场景对应的地图块的编号存储至二维数组;
存储到二维数组后,二维数组中存储的地图块编号如表10所示:
3,5 | 3,6 | 3,7 |
4,5 | 4,6 | 4,7 |
5,5 | 5,6 | 5,7 |
表10、地图块编号9
步骤706、根据二维数组中存储的地图块编号获取对应的地图信息;
步骤707、绘制所述地图信息,并在屏幕上输出。
从上可以看出,本实施例在玩家的位置发生改变时,判断玩家的位置是否跨越了地图块,如果是,则重新确定可见场景对应的地图块的编号,从而更新二维数组中存储的信息,使玩家在移动时可以流畅的看到游戏地图的变化。
参见图8,图8为本发明提供的游戏地图的显示方法第三实施例的具体流程图,本实施例与第二实施例的不同在于,在玩家位置跨越了地图块时,只更新二维数组中不可见的地图块。
步骤801、获取玩家的位置坐标;
步骤802、判断玩家的位置是否横向跨越了地图块?如果是,进入步骤803,如果否,进入步骤804;
例如一个100*100的游戏地图,分成10*10块,每块大小为10*10,可见场景为3*3块,现在可见场景的地图块如表11所示:
4,4 | 4,5 | 4,6 |
5,4 | 5,5 | 5,6 |
6,4 | 6,5 | 6,6 |
表11、地图块编号10
先前玩家的位置坐标为(45,45),玩家所处的地图块编号为(5,5);
当再次获得的玩家位置坐标变为(55,35)时,因为每个地图块分成的大小是10*10,所以地图块编号为(5,5)的地图块的横坐标范围是[40,49],而此时玩家的横坐标为55,所以可以判断该玩家的位置横向移动了一个地图块,并且是向右横向移动了一个地图块,此时公式中的offset取值为1,采用公式index0=(index+offset)%size计算需要更新的地图块所处的列,index0=(2+1)%3=0,所以要对第0列的地图块编号进行更新;
步骤803、将二维数组中横向不可见的地图块编号更新为可见的地图块编号;
将第0列的数据更新为新的可见的地图块数据后二维数组存储的地图块编号如表12所示:
4,7 | 4,5 | 4,6 |
5,7 | 5,5 | 5,6 |
6,7 | 6,5 | 6,6 |
表12、地图块编号11
步骤804、判断玩家的位置是否纵向跨越了地图块?如果是,进入步骤805,如果否,进入步骤806;
地图块编号为(5,5)的地图块的纵向坐标范围是[40,49],此时玩家的纵向坐标为35,所以玩家的纵向位置也跨越了地图块,并且是向上移动了一个地图块,此时公式中的offset取值为1,采用公式index0=(index+offset)%size计算需要更新的地图块所处的行,index0=(1+1)%3=2,所以要对第2行的地图块编号进行更新;
步骤805、将二维数组中纵向不可见的地图块编号更新为可见的地图块编号;
将第2行的数据更新为新的可见的地图块数据后二维数组存储的地图块编号如表13所示:
4,7 | 4,5 | 4,6 |
5,7 | 5,5 | 5,6 |
3,7 | 3,5 | 3,6 |
表13、地图块编号12
步骤806、根据二维数组中存储的地图块编号获取对应的地图信息;
不管玩家的位置是否跨越了地图块都要对游戏地图进行重新绘制,这是因为游戏是由一个个的游戏循环构成的,每个游戏循环都要对游戏地图进行重新绘制;
步骤807、绘制所述地图信息,并在屏幕上输出;
从上可知,只将不可见的地图块编号更新为可见的地图块编号,减少了二维数组中需要更新的数据量;本实施例是先对玩家是否横向移动了地图块进行判断,再对玩家是否纵向移动了地图块进行判断,在实际应用中也可以先进行纵向判断,再进行横向判断,先对横向进行判断还是先对纵向进行判断并不影响本发明的实现,因此本发明并不对先对横向还是先对纵向进行判断进行限定。
以上对本发明所提供的游戏地图的存储方法及装置、游戏地图的显示方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1、一种游戏地图的存储方法,其特征在于,包括:
将游戏的游戏地图分成地图块;
为每个地图块编号;
对地图块编号及其对应的地图信息进行保存。
2、如权利要求1所述的游戏地图的存储方法,其特征在于,所述地图快的尺寸一致。
3、如权利要求1或2所述的游戏地图的存储方法,其特征在于,所述游戏的游戏地图被设计为一张。
4、一种游戏地图的显示方法,其特征在于,包括:
将游戏的游戏地图采用地图块方式存储;
获取玩家的位置坐标,根据所述位置坐标确定可见场景对应的多个地图块;
用二维数组存储所述地图块的编号;
从保存的游戏地图中获取存储于二维数组中的编号对应的地图信息;
绘制获取的地图信息,并在屏幕上输出。
5、如权利要求4所述的游戏地图的显示方法,其特征在于,所述游戏的游戏地图被设计成一张。
6、如权利要求4或5所述的游戏地图的显示方法,其特征在于,该方法还包括:
当玩家的位置坐标变化时,判断玩家的位置是否跨越了地图块,如果是,更新二维数组中的地图块编号,进入获取存储于二维数组中的编号对应的地图信息的步骤。
7、如权利要求6所述的游戏地图的显示方法,其特征在于,所述更新为:在二维数组中将不可见的地图块编号删除,将新的可见的地图块编号增加到删除的位置。
8、一种游戏地图的存储装置,其特征在于,包括:
地图分块单元,用于将游戏地图分成地图块;
编号单元,用于对分成的地图块编号;
保存单元,用于保存地图块编号及其对应的地图信息。
9、一种游戏地图的显示系统,其特征在于,包括:
游戏地图存储装置,用于采用地图块的方式存储游戏的游戏地图;
地图块确定单元,用于获取玩家的位置坐标,并根据位置坐标确定可见场景对应的地图块;
地图块编号存储单元,用于创建二维数组存储空间,并将可见场景对应的地图块编号保存至所述二位数组;
信息获取单元,用于根据存储的地图块编号获取对应的地图块的地图信息;
绘制输出单元,用于根据所述地图信息绘制地图,并将绘制的地图在屏幕上输出。
10、如权利要求9所述的游戏地图的显示系统,其特征在于,该装置还包括:
位置判断单元,用于根据玩家的位置坐标判断玩家的位置是否跨越了地图块,如果是,还用于促使地图块编号存储单元更新存储的地图块编号。
11、如权利要求10所述的游戏地图的显示系统,其特征在于,所述位置判断单元与地图块确定单元集成在一起。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200610113222XA CN1924873A (zh) | 2006-09-19 | 2006-09-19 | 游戏地图的存储方法及装置、游戏地图的显示方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200610113222XA CN1924873A (zh) | 2006-09-19 | 2006-09-19 | 游戏地图的存储方法及装置、游戏地图的显示方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1924873A true CN1924873A (zh) | 2007-03-07 |
Family
ID=37817509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200610113222XA Pending CN1924873A (zh) | 2006-09-19 | 2006-09-19 | 游戏地图的存储方法及装置、游戏地图的显示方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1924873A (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102340488A (zh) * | 2010-07-22 | 2012-02-01 | 腾讯科技(北京)有限公司 | 一种游戏地图的下载方法、系统及移动终端 |
CN103157281A (zh) * | 2013-04-03 | 2013-06-19 | 广州博冠信息科技有限公司 | 一种二维游戏场景显示的方法和设备 |
CN103699415A (zh) * | 2013-12-23 | 2014-04-02 | 中国航空工业集团公司第六三一研究所 | 一种高效的机载设备地形数据加载方法 |
CN103856336A (zh) * | 2012-12-04 | 2014-06-11 | 福建天晴数码有限公司 | 一种游戏地图分时广播的方法 |
CN105194875A (zh) * | 2015-10-22 | 2015-12-30 | 网易(杭州)网络有限公司 | 一种游戏地图显示方法及其装置、移动客户端、电脑客户端 |
CN105243268A (zh) * | 2015-09-18 | 2016-01-13 | 网易(杭州)网络有限公司 | 一种游戏地图定位方法、装置及用户终端 |
CN105597318A (zh) * | 2015-12-25 | 2016-05-25 | 珠海金山网络游戏科技有限公司 | 一种自动生成随机游戏场景的方法、系统和装置 |
CN106075907A (zh) * | 2016-06-02 | 2016-11-09 | 苏州乐米信息科技有限公司 | 一种游戏地图的编辑方法 |
CN107198884A (zh) * | 2017-05-26 | 2017-09-26 | 合肥充盈信息科技有限公司 | 一种游戏场景高效载入的方法 |
CN107243157A (zh) * | 2017-06-09 | 2017-10-13 | 深圳市乃斯网络科技有限公司 | 游戏地图的定位实现方法及系统 |
CN107485855A (zh) * | 2017-09-01 | 2017-12-19 | 北京乐动卓越科技有限公司 | 一种超大地图场景资源的存储方法及存储装置 |
CN107749877A (zh) * | 2017-10-16 | 2018-03-02 | 苏州蜗牛数字科技股份有限公司 | 网络游戏地形数据同步方法、装置及一种网络游戏系统 |
CN108108410A (zh) * | 2017-12-12 | 2018-06-01 | 苏州蜗牛数字科技股份有限公司 | 一种网络游戏迷宫地图生成方法 |
CN108597027A (zh) * | 2018-04-09 | 2018-09-28 | 腾讯科技(上海)有限公司 | 图形数据的访问方法及装置 |
CN109771943A (zh) * | 2019-01-04 | 2019-05-21 | 网易(杭州)网络有限公司 | 一种游戏场景的构造方法和装置 |
CN109985386A (zh) * | 2019-03-08 | 2019-07-09 | 珠海天燕科技有限公司 | 一种生成地图的方法和装置 |
CN109999500A (zh) * | 2019-02-27 | 2019-07-12 | 深圳点猫科技有限公司 | 一种基于编程语言流畅加载游戏地图的方法以及电子设备 |
CN110559665A (zh) * | 2019-09-29 | 2019-12-13 | 珠海文景科技有限公司 | 一种游戏地图的处理方法、装置、终端设备及存储介质 |
CN111552519A (zh) * | 2020-04-03 | 2020-08-18 | 上海高仙自动化科技发展有限公司 | 加载方法、加载装置、电子设备和计算机可读存储介质 |
CN111973990A (zh) * | 2020-08-20 | 2020-11-24 | 北京像素软件科技股份有限公司 | 游戏地图的动态加载方法、装置,电子设备及存储介质 |
CN112619153A (zh) * | 2020-12-25 | 2021-04-09 | 北京冰封互娱科技有限公司 | 一种游戏副本创建方法、装置、存储介质及计算设备 |
CN113744396A (zh) * | 2020-05-29 | 2021-12-03 | 奇安信科技集团股份有限公司 | 基于三维地图建立模型的方法、装置、设备和存储介质 |
CN115591242A (zh) * | 2022-09-29 | 2023-01-13 | 深圳市手心游戏科技有限公司(Cn) | 一种游戏地图的加载方法、装置和计算机设备 |
-
2006
- 2006-09-19 CN CNA200610113222XA patent/CN1924873A/zh active Pending
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102340488A (zh) * | 2010-07-22 | 2012-02-01 | 腾讯科技(北京)有限公司 | 一种游戏地图的下载方法、系统及移动终端 |
CN103856336B (zh) * | 2012-12-04 | 2017-06-16 | 福建天晴数码有限公司 | 一种游戏地图分时广播的方法 |
CN103856336A (zh) * | 2012-12-04 | 2014-06-11 | 福建天晴数码有限公司 | 一种游戏地图分时广播的方法 |
CN103157281A (zh) * | 2013-04-03 | 2013-06-19 | 广州博冠信息科技有限公司 | 一种二维游戏场景显示的方法和设备 |
CN103157281B (zh) * | 2013-04-03 | 2015-06-10 | 广州博冠信息科技有限公司 | 一种二维游戏场景显示的方法和设备 |
CN103699415A (zh) * | 2013-12-23 | 2014-04-02 | 中国航空工业集团公司第六三一研究所 | 一种高效的机载设备地形数据加载方法 |
CN105243268A (zh) * | 2015-09-18 | 2016-01-13 | 网易(杭州)网络有限公司 | 一种游戏地图定位方法、装置及用户终端 |
CN105243268B (zh) * | 2015-09-18 | 2018-06-22 | 网易(杭州)网络有限公司 | 一种游戏地图定位方法、装置及用户终端 |
CN105194875A (zh) * | 2015-10-22 | 2015-12-30 | 网易(杭州)网络有限公司 | 一种游戏地图显示方法及其装置、移动客户端、电脑客户端 |
CN105597318A (zh) * | 2015-12-25 | 2016-05-25 | 珠海金山网络游戏科技有限公司 | 一种自动生成随机游戏场景的方法、系统和装置 |
CN105597318B (zh) * | 2015-12-25 | 2019-02-22 | 珠海金山网络游戏科技有限公司 | 一种自动生成随机游戏场景的方法、系统和装置 |
CN106075907A (zh) * | 2016-06-02 | 2016-11-09 | 苏州乐米信息科技有限公司 | 一种游戏地图的编辑方法 |
CN107198884A (zh) * | 2017-05-26 | 2017-09-26 | 合肥充盈信息科技有限公司 | 一种游戏场景高效载入的方法 |
CN107198884B (zh) * | 2017-05-26 | 2021-05-11 | 徐州天草网络科技有限公司 | 一种游戏场景高效载入的方法 |
CN107243157A (zh) * | 2017-06-09 | 2017-10-13 | 深圳市乃斯网络科技有限公司 | 游戏地图的定位实现方法及系统 |
CN107243157B (zh) * | 2017-06-09 | 2020-05-12 | 深圳市乃斯网络科技有限公司 | 游戏地图的定位实现方法及系统 |
CN107485855A (zh) * | 2017-09-01 | 2017-12-19 | 北京乐动卓越科技有限公司 | 一种超大地图场景资源的存储方法及存储装置 |
CN107485855B (zh) * | 2017-09-01 | 2021-02-26 | 北京乐动卓越科技有限公司 | 一种超大地图场景资源的存储方法及存储装置 |
CN107749877A (zh) * | 2017-10-16 | 2018-03-02 | 苏州蜗牛数字科技股份有限公司 | 网络游戏地形数据同步方法、装置及一种网络游戏系统 |
CN108108410A (zh) * | 2017-12-12 | 2018-06-01 | 苏州蜗牛数字科技股份有限公司 | 一种网络游戏迷宫地图生成方法 |
CN108597027A (zh) * | 2018-04-09 | 2018-09-28 | 腾讯科技(上海)有限公司 | 图形数据的访问方法及装置 |
CN108597027B (zh) * | 2018-04-09 | 2022-04-15 | 腾讯科技(上海)有限公司 | 图形数据的访问方法及装置 |
CN109771943A (zh) * | 2019-01-04 | 2019-05-21 | 网易(杭州)网络有限公司 | 一种游戏场景的构造方法和装置 |
CN109999500A (zh) * | 2019-02-27 | 2019-07-12 | 深圳点猫科技有限公司 | 一种基于编程语言流畅加载游戏地图的方法以及电子设备 |
CN109985386B (zh) * | 2019-03-08 | 2022-08-16 | 郑州阿帕斯科技有限公司 | 一种生成地图的方法和装置 |
CN109985386A (zh) * | 2019-03-08 | 2019-07-09 | 珠海天燕科技有限公司 | 一种生成地图的方法和装置 |
CN110559665A (zh) * | 2019-09-29 | 2019-12-13 | 珠海文景科技有限公司 | 一种游戏地图的处理方法、装置、终端设备及存储介质 |
CN111552519A (zh) * | 2020-04-03 | 2020-08-18 | 上海高仙自动化科技发展有限公司 | 加载方法、加载装置、电子设备和计算机可读存储介质 |
CN111552519B (zh) * | 2020-04-03 | 2022-12-20 | 上海高仙自动化科技发展有限公司 | 加载方法、加载装置、电子设备和计算机可读存储介质 |
CN113744396A (zh) * | 2020-05-29 | 2021-12-03 | 奇安信科技集团股份有限公司 | 基于三维地图建立模型的方法、装置、设备和存储介质 |
CN111973990A (zh) * | 2020-08-20 | 2020-11-24 | 北京像素软件科技股份有限公司 | 游戏地图的动态加载方法、装置,电子设备及存储介质 |
CN112619153A (zh) * | 2020-12-25 | 2021-04-09 | 北京冰封互娱科技有限公司 | 一种游戏副本创建方法、装置、存储介质及计算设备 |
CN115591242A (zh) * | 2022-09-29 | 2023-01-13 | 深圳市手心游戏科技有限公司(Cn) | 一种游戏地图的加载方法、装置和计算机设备 |
CN115591242B (zh) * | 2022-09-29 | 2023-10-03 | 深圳市手心游戏科技有限公司 | 一种游戏地图的加载方法、装置和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1924873A (zh) | 游戏地图的存储方法及装置、游戏地图的显示方法及系统 | |
CN1288603C (zh) | 图像处理器及其组件、和渲染方法 | |
CN1136517C (zh) | 图象数据处理方法、图象数据处理装置 | |
CN1099655C (zh) | 图像绘制装置及图像绘制方法 | |
CN100338564C (zh) | 显示控制设备、显示控制方法以及记录介质 | |
CN1295658C (zh) | 图象显示系统 | |
CN1729937A (zh) | 图像处理装置及图像处理方法 | |
CN1272194A (zh) | 用于绘制在图像装置上显示的图像的装置、方法和分发介质 | |
CN1904897A (zh) | 信息处理装置、信息处理方法及程序 | |
CN101046888A (zh) | 渲染装置和方法,以及形状数据生成装置和方法 | |
CN101065773A (zh) | 2d/3d集成式轮廓编辑器 | |
CN1114921C (zh) | 目标流的临时删除方法 | |
CN1753035A (zh) | 图形处理系统、装置及其材质数据的处理方法 | |
CN101047795A (zh) | 运动图像分割设备、字幕提取设备、方法和程序 | |
CN1969299A (zh) | 图像生成装置及图像生成方法 | |
CN1197082C (zh) | 使用存储器的方法、两维数据存取存储器以及操作处理设备 | |
CN1679346A (zh) | 易于进行可立体视的内容的制作及编辑的装置 | |
CN1866250A (zh) | 对系统数据进行管理的方法和系统 | |
CN1560797A (zh) | 减少z缓冲区流量的三维图形处理机制 | |
CN1282128C (zh) | 图像处理装置及其方法 | |
CN1285058C (zh) | 图像检索装置和图像检索方法 | |
CN1506971A (zh) | 半导体器件、图像数据处理装置和方法 | |
CN1801940A (zh) | 整型变换电路和整型变换方法 | |
CN1177784A (zh) | 纹理数据的方法和设备 | |
CN1942901A (zh) | 图像处理装置及图像处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20070307 |