国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種游戲中確定對象移動路徑的方法和設(shè)備的制作方法

      文檔序號:6507427閱讀:225來源:國知局
      一種游戲中確定對象移動路徑的方法和設(shè)備的制作方法
      【專利摘要】本發(fā)明的實施方式提供了一種游戲中確定對象移動路徑的方法和設(shè)備。該方法包括:響應(yīng)于觸發(fā)對象移動的請求,確定所述對象移動的起點和終點,并調(diào)取所述對象所在游戲場景的主干道路網(wǎng);根據(jù)所述起點和所述終點,查找所述對象移動在所述主干道路網(wǎng)上所經(jīng)過的目標主干路徑并確定所述目標主干路徑上的目標起始路點和目標終止路點;連接起始路徑、查找到的所述目標主干路徑和終止路徑組成所述對象移動的移動路徑。通過本發(fā)明的實施方式,本發(fā)明的方法使得只需響應(yīng)一次對象移動的請求,對象在移動時就可以避免進入特定區(qū)域,從而顯著地縮短了系統(tǒng)響應(yīng)的時間,為用戶帶來了更好的體驗。此外,本發(fā)明的實施方式提供了一種游戲中確定對象移動路徑的設(shè)備。
      【專利說明】一種游戲中確定對象移動路徑的方法和設(shè)備
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明的實施方式涉及游戲領(lǐng)域,更具體地,本發(fā)明的實施方式涉及一種游戲中確定移動路徑的方法和設(shè)備。
      【背景技術(shù)】
      [0002]本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實施方式提供背景或上下文。此處的描述可包括可以探究的概念,但不一定是之前已經(jīng)想到或者已經(jīng)探究的概念。因此,除非在此指出,否則在本部分中描述的內(nèi)容對于本申請的說明書和權(quán)利要求書而言不是現(xiàn)有技術(shù),并且并不因為包括在本部分中就承認是現(xiàn)有技術(shù)。
      [0003]在各種計算機應(yīng)用中,游戲應(yīng)用十分常見。目前,許多游戲應(yīng)用中,都具有在游戲場景中可以移動的對象,例如玩家角色以及各種NPC(Non-Player Character,非玩家角色)等。由于玩家用戶在游戲應(yīng)用中執(zhí)行的操作千變?nèi)f化,各種對象就會被觸發(fā)從各種不同的起點移動到各種不同的終點,因此,各種對象的移動路徑需要在游戲進行過程中根據(jù)游戲進行的情況來確定。
      [0004]在游戲場景中,通常具有一些障礙物,例如山體、懸崖、房屋、巖石等等,游戲進行中,對象在移動時是無法從這些障礙物中間通過的。因此,在為對象確定移動路徑時,就需要避開該對象在游戲場景中無法通過的障礙物,即所確定的移動路徑不能從障礙物中間穿過。
      [0005]在現(xiàn)有技術(shù)中,已經(jīng)出現(xiàn)了一些為對象確定移動路徑時避開對象無法通過的障礙物的方法。例如,預(yù)先將對象無法通過的障礙物預(yù)置在游戲場景中,在對象需要移動時,確定對象移動的起點和終點,從起點作為當(dāng)前位置開始,在當(dāng)前位置朝向終點的相鄰區(qū)域中查找無障礙物的位置作為移動路徑中的一個路點,然后再以查找到的位置作為當(dāng)前位置查找移動路徑中的下一路點,直至查找到終點,這樣查找到的所有路點連接就組成了對象的移動路徑。通過這種方式,對象可以繞過預(yù)設(shè)的障礙物,從而避免一些不合理的移動過程。

      【發(fā)明內(nèi)容】

      [0006]通常一個游戲應(yīng)用中具有大量各不相同的游戲場景,而各個游戲場景中又具有很多各不相同的區(qū)域,其中,許多特定區(qū)域雖然并不是障礙物,但是,對象移動經(jīng)過特定區(qū)域時,只有在特定情況下需要進入特定區(qū)域中,而在非特定情況下,進入特定區(qū)域是不合理的,需要繞開特定區(qū)域。由于對象在特定情況下需要進入特定區(qū)域,特定區(qū)域不屬于障礙物,因此,采用現(xiàn)有技術(shù)確定移動路徑時,對象移動經(jīng)過特定區(qū)域時在任何情況下都會進入特定區(qū)域中。例如,在如圖la-b所示的游戲場景中,河的兩岸由橋連接,河水區(qū)域?qū)儆谇笆龅奶囟▍^(qū)域,在玩家角色需要在河水區(qū)域執(zhí)行任務(wù)或操作時玩家角色需要進入河水區(qū)域,但當(dāng)玩家角色需要從河水的一個岸邊過河到達對岸時,玩家人物合理的移動路徑應(yīng)該是如圖1a所示從橋上過河,而采用現(xiàn)有技術(shù)確定移動路徑就會使得玩家角色如圖1b所示進入河水區(qū)域中穿行到達對岸。又如,高級別敵方NPC所在區(qū)域在游戲場景中也屬于特定區(qū)域,在高級別玩家角色需要與高級別敵方NPC進行戰(zhàn)斗時玩家角色經(jīng)過該特定區(qū)域是合理的,但當(dāng)?shù)图墑e玩家角色需要從該區(qū)域一側(cè)達到另一側(cè)時,采用現(xiàn)有技術(shù)確定移動路徑也會使低級別玩家角色經(jīng)過該區(qū)域,而對于低級別玩家來說,從高級別敵方NPC所在區(qū)域經(jīng)過是不合理的,合理的移動路徑應(yīng)該是繞開該區(qū)域到達另一側(cè)。
      [0007]由此可見,在現(xiàn)有技術(shù)中,為對象確定移動路徑時僅僅避開了對象在任何情況下都無法通過的障礙物,但對于游戲場景中不屬于障礙物的特定區(qū)域,無論是否處于該特定區(qū)域?qū)?yīng)的特定情況,對象的移動路徑中都會經(jīng)過該特定區(qū)域,因此,在非特定情況下為了避免對象移動時經(jīng)過該特定區(qū)域,就需要不斷調(diào)整對象移動的終點而多次觸發(fā)對象移動的請求,這就導(dǎo)致了系統(tǒng)需要響應(yīng)多次觸發(fā)對象移動的請求,不僅增大了系統(tǒng)的負荷,也延長了系統(tǒng)響應(yīng)請求而執(zhí)行對象移動的時間,這是非常令人煩惱的過程。
      [0008]為此,非常需要一種改進的游戲中確定對象移動路徑的方法和設(shè)備,以避免現(xiàn)有技術(shù)中由于為對象確定移動路徑時無法在非特定情況下避開不屬于障礙物的特定區(qū)域而導(dǎo)致的系統(tǒng)響應(yīng)觸發(fā)對象移動的請求次數(shù)過多、系統(tǒng)負荷過大以及系統(tǒng)響應(yīng)請求而執(zhí)行對象移動的時間過長的缺陷。
      [0009]在本上下文中,本發(fā)明的實施方式期望提供一種游戲中確定對象移動路徑的方法和設(shè)備。
      [0010]本發(fā)明實施方式的第一方面中,提供了一種游戲中確定對象移動路徑的方法,包括:
      [0011]響應(yīng)于觸發(fā)對象移動的請求,確定所述對象移動的起點和終點,并選取所述對象所在游戲場景的主干道路網(wǎng);所述主干道路網(wǎng)是預(yù)先根據(jù)所述游戲場景的背景而在所述游戲場景中設(shè)置的;
      [0012]根據(jù)所述起點和所述終點,查找所述對象移動在所述主干道路網(wǎng)上所經(jīng)過的目標主干路徑以及所述目標主干路徑上的目標起始路點和目標終止路點;
      [0013]連接起始路徑、查找到的所述目標主干路徑和終止路徑組成所述對象移動的移動路徑;所述起始路徑為連接所述起點至所述目標起始路點而形成的路徑,所述終止路徑為連接所述終點至所述目標終止路點而形成的終止路徑。
      [0014]在本發(fā)明實施方式的第二方面中,提供了一種游戲中確定對象移動路徑的設(shè)備,包括:
      [0015]路網(wǎng)設(shè)置模塊,用于預(yù)先根據(jù)所述游戲場景的背景在所述游戲場景中設(shè)置主干道路網(wǎng);
      [0016]移動響應(yīng)模塊,用于響應(yīng)于觸發(fā)對象移動的請求,確定所述對象移動的起點和終點,并選取所述對象所在游戲場景的主干道路網(wǎng);
      [0017]主干查找模塊,用于根據(jù)所述起點和所述終點,查找所述對象移動在所述主干道路網(wǎng)上所經(jīng)過的目標主干路徑以及所述目標主干路徑上的目標起始路點和目標終止路
      占.[0018]移動路徑確定模塊,用于連接起始路徑、查找到的所述目標主干路徑和終止路徑組成所述對象移動的移動路徑;所述起始路徑為連接所述起點至所述目標起始路點而形成的路徑,所述終止路徑為連接所述終點至所述目標終止路點而形成的終止路徑。
      [0019]根據(jù)本發(fā)明實施方式的游戲中確定對象移動路徑的方法和設(shè)備,使得玩家角色、NPC等對象在移動時可以沿著根據(jù)游戲場景的背景而預(yù)設(shè)的主干道路網(wǎng)來確定移動路徑,由于主干道路網(wǎng)在預(yù)設(shè)時可以避免經(jīng)過各種特定區(qū)域,因此,只需響應(yīng)一次對象移動的請求,對象在移動時就可以避免進入特定區(qū)域,從而無需不斷調(diào)整對象移動終點,從而顯著地降低了系統(tǒng)響應(yīng)用戶操作的次數(shù),減輕了系統(tǒng)的負荷,并且減少了系統(tǒng)響應(yīng)用戶操作的時間,提高了系統(tǒng)的性能,為用戶帶來了更好的體驗。
      【專利附圖】

      【附圖說明】
      [0020]通過參考附圖閱讀下文的詳細描述,本發(fā)明示例性實施方式的上述以及其他目的、特征和優(yōu)點將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實施方式,其中:
      [0021]圖1a示意性地示出了一種游戲場景中合理的對象移動路徑;
      [0022]圖1b示意性地示出了圖1a的游戲場景中采用現(xiàn)有技術(shù)確定的對象移動路徑;
      [0023]圖2示意性地示出了適于實現(xiàn)本發(fā)明實施方式的示例性計算系統(tǒng)100的框圖;
      [0024]圖3示意性地示出了本發(fā)明的實施方式的一個示例性應(yīng)用場景的框架示意圖;
      [0025]圖4示意性地示出了本發(fā)明的實施方式中游戲中確定對象移動路徑的方法一實施例的流程圖;
      [0026]圖5示意性地示出了本發(fā)明的實施方式中主干道路網(wǎng)的設(shè)置一實施方式的流程圖;
      [0027]圖6示意性地示出了本發(fā)明的實施方式中一種用于設(shè)置主干道路網(wǎng)的路點編輯器操作界面;
      [0028]圖7示意性地示出了本發(fā)明的實施方式中查找目標主干路徑和目標起始路點、目標終止路點的一實施方式的流程圖;
      [0029]圖8a示意性地示出了本發(fā)明的實施方式中線性編碼四叉樹劃分節(jié)點區(qū)域的一編碼示意圖;
      [0030]圖Sb示意性地示出了本發(fā)明的實施方式中線性編碼四叉樹劃分節(jié)點區(qū)域的另一編碼不意圖;
      [0031]圖Sc示意性地示出了本發(fā)明的實施方式中線性編碼四叉樹劃分節(jié)點區(qū)域的又一編碼不意圖;
      [0032]圖9示意性地示出了本發(fā)明的實施方式中確定目標主干路徑一實施方式的流程圖;
      [0033]圖10示意性地示出了本發(fā)明的實施方式中確定目標主干路徑另一實施方式的流程圖;
      [0034]圖11示意性地示出了本發(fā)明的實施方式中游戲中確定對象移動路徑的設(shè)備一實施例的結(jié)構(gòu)圖;
      [0035]圖12示意性地示出了本發(fā)明的實施方式中路網(wǎng)設(shè)置模塊1101—實施方式的結(jié)構(gòu)圖;
      [0036]圖13示意性地示出了本發(fā)明的實施方式中主干查找模塊1103—實施方式的結(jié)構(gòu)圖;
      [0037]圖14示意性地示出了本發(fā)明的實施方式中目標選定子模塊1303 —實施方式的結(jié)構(gòu)圖;
      [0038]圖15示意性地示出了本發(fā)明的實施方式中目標選定子模塊1303又一實施方式的結(jié)構(gòu)圖。
      [0039]在附圖中,相同或?qū)?yīng)的標號表不相同或?qū)?yīng)的部分。
      【具體實施方式】
      [0040]下面將參考若干示例性實施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進而實現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達給本領(lǐng)域的技術(shù)人員。
      [0041]圖2示出了適于實現(xiàn)本發(fā)明實施方式的示例性計算系統(tǒng)200的框圖。如圖2所示,計算系統(tǒng)200可以包括:中央處理單元(CPU) 201、隨機存取存儲器(RAM) 202、只讀存儲器(ROM) 203、系統(tǒng)總線204、硬盤控制器205、鍵盤控制器206、串行接口控制器207、并行接口控制器208、顯示控制器209、硬盤210、鍵盤211、串行外部設(shè)備212、并行外部設(shè)備213和顯示器214。這些設(shè)備中,與系統(tǒng)總線204耦合的有CPU201、RAM202、R0M203、硬盤控制器205、鍵盤控制器206、串行控制器207、并行控制器208和顯示控制器209。硬盤210與硬盤控制器205耦合,鍵盤211與鍵盤控制器206耦合,串行外部設(shè)備212與串行接口控制器207耦合,并行外部設(shè)備213與并行接口控制器208耦合,以及顯示器214與顯示控制器209耦合。應(yīng)當(dāng)理解,圖2所述的結(jié)構(gòu)框圖僅僅是為了示例的目的,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況增加或減少某些設(shè)備。
      [0042]本領(lǐng)域技術(shù)技術(shù)人員知道,本發(fā)明的實施方式可以實現(xiàn)為一種系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本公開可以具體實現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式,本文一般稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實施例中,本發(fā)明還可以實現(xiàn)為在一個或多個計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式,該計算機可讀介質(zhì)中包含計算機可讀的程序代碼。
      [0043]可以采用一個或多個計算機可讀的介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是,但不限于,電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉示例)例如可以包括:具有一個或多個導(dǎo)線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
      [0044]計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
      [0045]計算機可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于無線、電線、光纜、RF等等,或者上述的任意合適的組合。
      [0046]可以以一種或多種程序設(shè)計語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++,還包括常規(guī)的過程式程序設(shè)計語言一諸如“C”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)(包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN))連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
      [0047]下面將參照本發(fā)明實施例的方法的流程圖和設(shè)備(或系統(tǒng))的框圖描述本發(fā)明的實施方式。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,這些計算機程序指令通過計算機或其它可編程數(shù)據(jù)處理裝置執(zhí)行,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。
      [0048]也可以把這些計算機程序指令存儲在能使得計算機或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計算機可讀介質(zhì)中,這樣,存儲在計算機可讀介質(zhì)中的指令就產(chǎn)生出一個包括實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置的產(chǎn)品。
      [0049]也可以把計算機程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機或其它可編程裝置上執(zhí)行的指令能夠提供實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。
      [0050]根據(jù)本發(fā)明的實施方式,提出了一種游戲中確定對象移動路徑的方法和設(shè)備。
      [0051]在本文中,需要理解的是,所涉及的術(shù)語“對象移動路徑”表示游戲?qū)ο蟊挥|發(fā)對象移動的請求時與該請求對應(yīng)的移動路徑,其中,該對象的移動路徑確定過程和對象的移動過程,兩者可以是一先一后執(zhí)行的,例如先確定該對象的移動路徑再根據(jù)移動路徑來移動該對象,或者,兩者也可以是交叉執(zhí)行的,例如先確定移動路徑中的某一部分路徑或某幾個經(jīng)過點再使對象按照先確定的部分邊移動邊確定剩余的未確定路徑。對于移動路徑確定過程和移動過程相互之間采用的執(zhí)行方式,本發(fā)明不做限定。另外,對于對象移動的請求,可以是用戶觸發(fā)的對玩家角色移動的請求,也可以是系統(tǒng)根據(jù)用戶操作或游戲環(huán)境而相應(yīng)觸發(fā)的對玩家角色或NPC移動的請求,本發(fā)明對于請求移動的對象以及觸發(fā)請求的主體也不做限定。
      [0052]還需要理解的是,本文中所涉及的術(shù)語“特定區(qū)域”是針對“特定情況”而確定的區(qū)域。具體地,特定區(qū)域表示的是這樣一種區(qū)域:在其特定情況下進入該區(qū)域是合理的,不在其特定情況下進入該區(qū)域是不合理的。游戲場景中存在多種不同的“特定區(qū)域”,對應(yīng)著多種不同的“特定情況”,本發(fā)明可以適用于各種“特定區(qū)域”以及“特定情況”,本發(fā)明對此也不做限定。
      [0053]此外,附圖中的任何元素數(shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。[0054]下面參考本發(fā)明的若干代表性實施方式,詳細闡釋本發(fā)明的原理和精神。
      [0055]發(fā)明概沭
      [0056]本發(fā)明人發(fā)現(xiàn),游戲場景中存在許多特定區(qū)域,游戲?qū)ο笾辉谔囟ㄇ闆r下才需要進入特定區(qū)域,而在非特定情況下進入特定區(qū)域則是不合理的,例如在圖1所示的游戲場景中,對于河水的區(qū)域來說,特定情況即為對象需要到河水中執(zhí)行任務(wù)或操作,當(dāng)對象不需要到河水中執(zhí)行任務(wù)或操作而只是需要過河時,則對象的移動過程中經(jīng)過河水區(qū)域是不合理的。
      [0057]采用現(xiàn)有技術(shù)來確定對象移動路徑時,如果不將特定區(qū)域設(shè)定為障礙物,則在任何情況下對象移動經(jīng)過特定區(qū)域時都會進入特定區(qū)域,如果將特定區(qū)域設(shè)定為障礙物,則在任何情況下對象移動經(jīng)過特定區(qū)域時都不會進入特定區(qū)域。由此可見,僅僅采用現(xiàn)有技術(shù)預(yù)先設(shè)定障礙物的方式來確定對象移動路徑,即使對障礙物的設(shè)定做了改進,也無法實現(xiàn)對象在特定情況下進入特定區(qū)域而在非特定情況下不進入特定區(qū)域。
      [0058]基于本發(fā)明人的上述發(fā)現(xiàn)和分析,本發(fā)明的基本設(shè)計思想是:預(yù)先為各個游戲場景鋪設(shè)主干道路網(wǎng),在對象移動的請求被觸發(fā)時,選取對象所在的游戲場景的主干道路網(wǎng),并在主干道路網(wǎng)上查找該對象移動經(jīng)過的目標主干路徑,在查找到時,將該目標主干路徑和該對象移動從起點到目標主干路徑經(jīng)過的起始路徑、從目標主干路徑到終點所經(jīng)過的終止路徑連接,以組成該對象移動的移動路徑。由于在預(yù)先鋪設(shè)主干道路網(wǎng)時根據(jù)游戲場景的背景可以使主干道路網(wǎng)只經(jīng)過任何對象在任何情況下都可以進入的區(qū)域,而不經(jīng)過該游戲場景中的特定區(qū)域,因此,只需響應(yīng)一次對象移動的請求,對象移動在非特定情況下的移動路徑就可以沿主干道路網(wǎng)而避開不屬于障礙物的特定區(qū)域,從而使得無需調(diào)整對象移動的終點,無需多次觸發(fā)對象移動的請求,因此,系統(tǒng)就不再需要響應(yīng)多次觸發(fā)對象移動的請求。
      [0059]需要說明的是,在上述基本設(shè)計思想中,如果查找不到目標主干路徑,則表明當(dāng)前處于特定情況,對象是需要到特定區(qū)域中去的。此時,則可以采用避開預(yù)設(shè)障礙物的方式去確定對象的移動路徑,從而實現(xiàn)對象在特定情況下進入特定區(qū)域。
      [0060]在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實施方式。
      [0061]應(yīng)用場景總覽
      [0062]首先參考圖3,圖3是本發(fā)明的實施方式的一個示例性應(yīng)用場景的框架示意圖。其中,用戶通過用戶界面交互設(shè)備(例如客戶端302)與游戲服務(wù)器301進行交互。本領(lǐng)域技術(shù)人員可以理解,圖3所示的框架示意圖僅是本發(fā)明的實施方式可以在其中得以實現(xiàn)的一個示例。本發(fā)明實施方式的適用范圍不受到該框架任何方面的限制。
      [0063]需要注意的是,此處的客戶端302可以是現(xiàn)有的、正在研發(fā)的或?qū)硌邪l(fā)的、能夠通過任何形式的有線或無線連接(例如,W1-F1、LAN、WAN、因特網(wǎng)等)與游戲服務(wù)器301交互的任何客戶端,包括但不限于:現(xiàn)有的、正在研發(fā)的或?qū)硌邪l(fā)的、臺式計算機、膝上型計算機、移動終端(包括智能手機、非智能手機、各種平板電腦)等。
      [0064]還需要注意的是,此處的游戲服務(wù)器301僅是現(xiàn)有的、正在研發(fā)的或?qū)硌邪l(fā)的、能夠向用戶提供網(wǎng)絡(luò)游戲應(yīng)用的設(shè)備的一個示例。本發(fā)明的實施方式在此方面不受任何限制。[0065]在圖3所示的示例性應(yīng)用場景中,游戲服務(wù)器301可以響應(yīng)于觸發(fā)對象移動的請求,確定所述對象移動的起點和終點,并調(diào)取所述對象所在游戲場景的主干道路網(wǎng),其中,所述主干道路網(wǎng)是預(yù)先根據(jù)所述游戲場景的背景而在所述游戲場景中設(shè)置的。然后,游戲服務(wù)器301可以根據(jù)所述起點和所述終點,查找所述對象移動在所述主干道路網(wǎng)上所經(jīng)過的目標主干路徑并確定所述目標主干路徑上的目標起始路點和目標終止路點。最后,游戲服務(wù)器301可以連接起始路徑、查找到的所述目標主干路徑和終止路徑組成所述對象移動的移動路徑,其中,所述起始路徑為連接所述起點至所述目標起始路點而形成的路徑,所述終止路徑為連接所述終點至所述目標終止路點而形成的終止路徑。需要說明的是,此處的請求例如可以是用戶通過點擊客戶端302提供的、用于請求觸發(fā)玩家角色移動而發(fā)送至游戲服務(wù)器301的信息,或者,又如可以是游戲服務(wù)器301根據(jù)用戶通過點擊客戶端302發(fā)送來的操作指令而產(chǎn)生的、用于請求觸發(fā)NPC移動的信息,或者,再如可以是游戲服務(wù)器301根據(jù)游戲環(huán)境的情況或設(shè)定而產(chǎn)生的、用于請求觸發(fā)玩家角色或NPC移動的信息。根據(jù)本發(fā)明的某些示例性實施方式,用戶在客戶端302上的點擊等操作例如可以是在客戶端302上顯示的游戲界面中的浮層中進行。
      [0066]需要注意的是,雖然此處將本發(fā)明實施方式的動作描述為由游戲服務(wù)器301執(zhí)行,但是這些動作也可以由客戶端設(shè)備302執(zhí)行,當(dāng)然也可以部分由客戶端302執(zhí)行、部分由游戲服務(wù)器301執(zhí)行。本發(fā)明在執(zhí)行主體方面不受限制,只要執(zhí)行了本發(fā)明實施方式所公開的動作即可。
      [0067]示例性方法
      [0068]下面結(jié)合圖4的應(yīng)用場景,參考圖4來描述根據(jù)本發(fā)明示例性實施方式的用于游戲中確定對象移動路徑的方法。需要注意的是,上述應(yīng)用場景僅是為了便于理解本發(fā)明的精神和原理而示出,本發(fā)明的實施方式在此方面不受任何限制。相反,本發(fā)明的實施方式可以應(yīng)用于適用的任何場景。
      [0069]參見圖4,示出了本發(fā)明中游戲中確定對象移動路徑的方法一實施例的流程圖,本實施例例如具體可以包括:
      [0070]步驟401、響應(yīng)于觸發(fā)對象移動的請求,確定所述對象移動的起點和終點,并調(diào)取所述對象所在游戲場景的主干道路網(wǎng);所述主干道路網(wǎng)是預(yù)先根據(jù)所述游戲場景的背景而在所述游戲場景中設(shè)置的。
      [0071]其中,觸發(fā)對象移動的請求中包含有對象所在當(dāng)前位置和對象移動的目標位置等信息。根據(jù)對象所在當(dāng)前位置可以確定對象移動的起點以及對象所在的游戲場景;根據(jù)對象移動的目標位置可以確定對象移動的終點。進一步地,根據(jù)對象所在的游戲場景,可以調(diào)取到該游戲場景對應(yīng)的主干道路網(wǎng)。例如,觸發(fā)對象移動的請求是用戶通過點擊客戶端302而發(fā)送給游戲服務(wù)器301提供的、用于觸發(fā)該用戶的玩家角色移動的請求信息,則該請求信息中可以記載該玩家角色的當(dāng)前位置和移動的目標位置。
      [0072]需要說明的是,主干道路網(wǎng)需要預(yù)先在游戲場景中設(shè)置。在設(shè)置時,可以根據(jù)游戲場景的背景,使主干道路網(wǎng)只經(jīng)過任何對象在任何情況下都可以進入的區(qū)域,而不經(jīng)過該游戲場景中的特定區(qū)域。其中,主干道路網(wǎng)可以是由路點和各路點之間的連線組成,則主干道路網(wǎng)的設(shè)置即為設(shè)置路點和路點之間的連線。具體地,如圖5所示的本實施例中主干道路網(wǎng)的設(shè)置一實施方式,例如可以包括:[0073]步驟501、響應(yīng)于對主干道路網(wǎng)中路點設(shè)置的操作,根據(jù)所述主干道路網(wǎng)所在游戲場景的背景,在所述游戲場景中設(shè)置路點。
      [0074]其中,所述對主干道路網(wǎng)中路點設(shè)置的操作可以包括:增加主干道路網(wǎng)中路點的操作,和/或,刪除主干道路網(wǎng)中路點的操作。
      [0075]步驟502、響應(yīng)于對主干道路網(wǎng)中路點連接設(shè)置的操作,根據(jù)所述主干道路網(wǎng)所在游戲場景的背景,在所述游戲場景中設(shè)置各路點之間的連接關(guān)系。
      [0076]其中,所述對主干道路網(wǎng)中路點連接的操作可以包括:建立主干道路網(wǎng)中路點間連接的操作,和/或,刪除主干道路網(wǎng)中路點間連接的操作。
      [0077]在本實施方式中,對路點和路點連接的設(shè)置是通過對操作的響應(yīng)來實現(xiàn)的,該操作例如可以是游戲開發(fā)用戶在制作游戲時的操作,或者,又如可以是游戲玩家用戶在游戲前的初始設(shè)置時的操作。因此,可以理解的是,對路點設(shè)置的步驟501和對路點連接設(shè)置的步驟502,兩者之間的執(zhí)行方式是由操作用戶的設(shè)置操作而決定的,例如兩者可以互相交叉執(zhí)行,此時設(shè)置操作是邊設(shè)置路點邊路點連接的;或者,又如可以先執(zhí)行步驟501設(shè)置完所有的路點再執(zhí)行步驟502設(shè)置各路點之間的連接。
      [0078]為便于各類用戶對主干道路網(wǎng)的設(shè)置進行操作,例如可以為用戶提供一種路點編輯器來完成設(shè)置。參見圖6,該路點編輯器的顯示界面提供了多個操作的快捷鏈接,用于在用戶點擊時觸發(fā)相應(yīng)的操作,例如點擊“增加路點”的快捷鏈接可以在當(dāng)前游戲場景中增加一個路點,點擊“刪除路點”的快捷鏈接可以刪除當(dāng)前選中的路點,點擊“建立連接”的快捷鏈接可以連接當(dāng)前選中的兩個路點或連接當(dāng)前選中路點與上次選中路點,點擊“刪除連接”的快捷鏈接可以刪除當(dāng)前選中的兩個路點的連線或刪除當(dāng)前選中路點與上次選中路點之間的連線,等等。此外,還可以在該路點編輯器的顯示界面上顯示當(dāng)前選中的路點和上次選中的路點的相關(guān)信息,以及,屏幕上當(dāng)前顯示出的所有路點的信息。其中,顯示的各路點信息可以包括該路點的編號和坐標。另外,在游戲場景中可以顯示當(dāng)前已設(shè)置的路點及連線,其中,各路點可以標注各自的編號。
      [0079]需要說明的是,在主干道路網(wǎng)設(shè)置完畢以后需要將其保存下來,以便游戲玩家用戶在游戲運行過程中的調(diào)用。具體地,主干道路網(wǎng)可以由各條道路的信息組成,各條道路信息可以是該道路上各路點的編號按照路點的連接關(guān)系排列而成的路點集合,以及,還可以進一步包括該道路的路徑長度、各路點的坐標和/或游戲場景的編號,等等。
      [0080]接著返回圖4,步驟401執(zhí)彳丁完成之后,執(zhí)彳丁步驟402。
      [0081]步驟402、根據(jù)所述起點和所述終點,查找所述對象移動在所述主干道路網(wǎng)上所經(jīng)過的目標主干路徑,并確定所述目標主干路徑上的目標起始路點和目標終止路點。
      [0082]其中,如果能夠查找到目標主干路徑和目標起始路點、目標終止路點,則表明對象處于非特定情況,不需要進入該游戲場景中的特定區(qū)域,則可以沿查找到的目標主干路徑來確定對象的移動路徑;如果查找不到目標主干路徑和目標起始路點、目標終止路點,則表明對象處于特定情況,需要進入該游戲場景中的特定區(qū)域,則可以采用避開預(yù)設(shè)障礙物的方式確定移動路徑。由于查找不到的情況采用的是與現(xiàn)有技術(shù)相同的移動路徑確定方式,本實施例在此不再贅述。
      [0083]對于起點和終點來說,如果起點和終點為主干道路網(wǎng)上的路點,則可以直接將其所在的路點確定為目標起始路點和目標終止路點。但是,通常情況下起點和終點都不屬于主干道路上的路點。為保證目標起始路點和目標終止路點能夠被確定,可以分別在起點和終點的附近區(qū)域中查找主干道路上的路點作為目標起始路點和目標終止路點。
      [0084]參見圖7,示出了本實施例中查找目標主干路徑和目標起始路點、目標終止路點的一實施方式的流程圖。在本實施方式中,目標起始路點和目標終止路點是在起點和終點的附近區(qū)域中,步驟402例如具體可以包括:
      [0085]步驟701、在所述游戲場景中,確定所述起點所在的起點搜集區(qū)域和所述終點所在的終點搜集區(qū)域。
      [0086]其中,起點和終點所在的搜集區(qū)域可以根據(jù)游戲場景中預(yù)先劃分的多個節(jié)點區(qū)域來確定。在劃分節(jié)點區(qū)域時,可以是將游戲場景劃分成多個形狀大小完全相同的節(jié)點區(qū)域,例如多個相同的正方形區(qū)域,或者,也可以根據(jù)主干道路網(wǎng)來劃分節(jié)點區(qū)域,例如按照路點分布的密集程度劃分成大小不一的正方形區(qū)域,路點密集的地方節(jié)點區(qū)域小,路點稀疏的地方節(jié)點區(qū)域大。為減少游戲運行過程中系統(tǒng)選擇目標主干路徑所需要遍歷的初始路徑數(shù)量,可以使每個節(jié)點區(qū)域中的路點數(shù)量盡可能少,在實際執(zhí)行時,可以使所述游戲場景的各個節(jié)點區(qū)域中,屬于主干道路網(wǎng)上的路點的數(shù)量都不超過預(yù)設(shè)的點數(shù)閾值。
      [0087]具體地,例如可以采用一種線性編碼四叉樹的方式劃分節(jié)點區(qū)域:如圖8a所示,先將游戲場景的完整區(qū)域劃分為根節(jié)點的4個節(jié)點區(qū)域,其中,東北節(jié)點編碼為1,東南節(jié)點編碼為3,西北節(jié)點編碼為O,西南節(jié)點編碼為2 ;當(dāng)其中有節(jié)點區(qū)域內(nèi)的主干道路網(wǎng)上路點的數(shù)量超過預(yù)設(shè)的點數(shù)閾值時,將該節(jié)點區(qū)域再次劃分為4個子節(jié)點區(qū)域,4個子節(jié)點的編碼可以是在其原節(jié)點編碼的后增加一位,增加的一位同樣按照前述的方向進行編碼;然后以此再對新劃分出的子節(jié)點判斷是否有節(jié)點的區(qū)域內(nèi)路點數(shù)量超過點數(shù)閾值,如果是則再繼續(xù)劃分子節(jié)點,直至所有節(jié)點區(qū)域內(nèi)的路點數(shù)量均不超過點數(shù)閾值為孩子。如圖8b所示,以根節(jié)點I為例,其劃分出的子節(jié)點中,東北子節(jié)點編碼為11,東南子節(jié)點編碼為13,西北子節(jié)點編碼為10,西南子節(jié)點編碼為12 ;如圖8c所示,進一步以子節(jié)點13為例,其劃分出的子節(jié)點中,東北子節(jié)點編碼為131,東南子節(jié)點編碼為133,西北子節(jié)點編碼為130,西南子節(jié)點編碼為132。
      [0088]需要說明的是,在預(yù)先對游戲場景進行了節(jié)點區(qū)域劃分的基礎(chǔ)上,起點和終點的搜集區(qū)域,可以只是起點所在的起始節(jié)點區(qū)域和終點所在的終止節(jié)點區(qū)域,但這樣搜集區(qū)域太小且有些節(jié)點區(qū)域內(nèi)并無路點。為此,可以使起點搜集區(qū)域包括起點所在的起始節(jié)點區(qū)域和與該該起始節(jié)點區(qū)域相鄰的節(jié)點區(qū)域,并且,使終點搜集區(qū)域包括終點所在的終止節(jié)點區(qū)域和與該終止節(jié)點區(qū)域相鄰的節(jié)點區(qū)域。其中,某節(jié)點區(qū)域的相鄰節(jié)點區(qū)域(下稱領(lǐng)域)可以包括與其存在重疊邊的四個邊領(lǐng)域,即東邊領(lǐng)域、南邊領(lǐng)域、西邊領(lǐng)域和北邊領(lǐng)域。
      [0089]當(dāng)搜集區(qū)域包括領(lǐng)域時,對搜集區(qū)域的確定可以是先根據(jù)起點和終點的坐標確定起始節(jié)點區(qū)域和終止節(jié)點區(qū)域,再查找起始節(jié)點區(qū)域和終止節(jié)點區(qū)域兩者的領(lǐng)域。其中,對于起始節(jié)點區(qū)域和終止節(jié)點區(qū)域的領(lǐng)域,其編碼可以根據(jù)起始節(jié)點區(qū)域和終止節(jié)點區(qū)域的編碼來確定。例如,采用前述線性編碼四叉樹的方式劃分的節(jié)點區(qū)域,當(dāng)需要計算某一節(jié)點區(qū)域的領(lǐng)域編碼時,設(shè)該節(jié)點區(qū)域是位于第η層的節(jié)點,A為其編碼,該編碼即為A=qlq2...qn,根據(jù)A的末位qn值的不同,選擇對應(yīng)A的qn值的計算方式來計算該節(jié)點區(qū)域的領(lǐng)域:
      [0090](I)若qn=0,采用第一計算方式:[0091]東邊鄰域:A+l;
      [0092]南邊鄰域:A+2 ;
      [0093]西邊鄰域:從編碼的末位qn按從右到左的順序掃描,直到找到第一個不屬于西部集合的編碼qi (即qi為I或3,而qi+Ι至qn都為O或2),然后ql至q1-Ι值不變,qi值減1,qi+Ι至qn的值均加1,此時得到的編碼即為西邊鄰域編碼;
      [0094]北邊鄰域:從編碼的末位qn按從右到左的順序掃描,直到找到第一個不屬于北部集合的編碼qi (即qi為2或3,而qi+Ι至qn都為O或1),然后ql至q1-Ι值不變,qi值減2,qi+Ι至qn的值均加2,此時得到的編碼即為北邊鄰域編碼;
      [0095](2)若qn=l,采用第二計算方式:
      [0096]東邊鄰域:從編碼的末位qn按從右到左的順序掃描,直到找到第一個不屬于東部集合的編碼qi (即qi為O或2,而qi+Ι至qn都為I或3),然后ql至qi_l值不變,qi值加1,qi+Ι至qn的值均減1,此時得到的編碼即為東邊鄰域編碼;
      [0097]南邊鄰域:A+2 ;
      [0098]西邊鄰域:A-1 ;
      [0099]北邊鄰域:從編碼的末位qn按從右到左的順序掃描,直到找到第一個不屬于北部集合的編碼qi (即qi為2或3,而qi+Ι至qn都為O或1),然后ql至q1-Ι值不變,qi值減2,qi+Ι至qn的值均加2,此時得到的編碼極為北邊鄰域編碼;
      [0100](3)若qn=2,采用第三計算方式:
      [0101]東邊鄰域:A+1;
      [0102]南邊鄰域:從編碼的末位qn按從右到左的順序掃描,直到找到第一個不屬于南部集合的編碼qi (即qi為O或1,而qi+Ι至qn都為2或3)的編碼qi,然后ql至qi_l值不變,Qi值加2,qi+Ι至qn的值均減2,此時得到的編碼即為南邊鄰域編碼;
      [0103]西邊鄰域:從編碼的末位qn按從右到左的順序掃描,直到找到第一個不屬于西部集合的編碼qi (即qi為I或3,而qi+Ι至qn都為O或2),然后ql至q1-Ι值不變,qi值減1,qi+Ι至qn的值均加1,此時得到的編碼即為南邊鄰域編碼;
      [0104]北邊鄰域:A-2 ;
      [0105](4)若qn=3,采用第四計算方式:
      [0106]東邊鄰域:從編碼的末位qn按從右到左的順序掃描,直到找到第一個不屬于東部集合的編碼qi (即qi為O或2,而qi+Ι至qn都為I或3),然后ql至qi_l值不變,qi值加1,qi+Ι至qn的值均減1,此時得到的編碼即為東邊鄰域編碼;
      [0107]南邊鄰域:從編碼的末位qn按從右到左的順序掃描,直到找到第一個不屬于南部集合的編碼qi (即qi為O或1,而qi+Ι至qn都為2或3),然后ql至q1-Ι值不變,qi值加2,qi+Ι至qn的值均減2,此時得到的編碼即為南邊鄰域編碼;
      [0108]西邊鄰域:A-1 ;
      [0109]北邊鄰域:A-2。
      [0110]可以理解的是,如果通過上述計算方式計算出的領(lǐng)域編碼在游戲場景中查找不至IJ,說明該節(jié)點區(qū)域為邊界區(qū)域,查找不到的鄰域即為不存在的區(qū)域。
      [0111]另外,該節(jié)點區(qū)域的領(lǐng)域,除了包括四個邊領(lǐng)域外,進一步還可以包括與其角的頂點有接觸的四個角鄰域,即東南角領(lǐng)域,東北領(lǐng)域,西南領(lǐng)域和西北領(lǐng)域。如節(jié)點區(qū)域的領(lǐng)域既包括四個邊領(lǐng)域也包括四個角領(lǐng)域時,可以在采用前述計算方式計算出邊領(lǐng)域編碼之后,根據(jù)邊領(lǐng)域的編碼再通過前述計算方式計算出角領(lǐng)域編碼。例如,東南角領(lǐng)域可通過計算東邊領(lǐng)域的南邊領(lǐng)域求出,或者也可通過計算南邊領(lǐng)域的東邊領(lǐng)域求出。
      [0112]此外,在確定該節(jié)點區(qū)域的領(lǐng)域之后,為減少初始路點的數(shù)量,則如果該節(jié)點區(qū)域的鄰域有子節(jié)點,則還可以進一步將范圍向該節(jié)點區(qū)域收窄,例如,在計算得到東邊鄰域以后,可以將東邊鄰域向西部集合展開,一直展開到最后一層子節(jié)點,這樣獲得的區(qū)域就是最貼近該節(jié)點區(qū)域同時也是最小的領(lǐng)域。
      [0113]步驟702、在所述起點搜集區(qū)域中查找屬于主干道路網(wǎng)上的路點,作為初始起始路點,并在所述終點搜集區(qū)域中查找屬于主干道路網(wǎng)上的路點,作為初始終止路點。
      [0114]需要說明的是,如果查找不到初始起始路點或初始終止路點,則可以按照避開預(yù)設(shè)障礙物的方式為對象確定移動路徑。
      [0115]步驟703、各個初始起始路點分別與各個初始終止路點一一對應(yīng)地組成起止路點集合,從各個所述起止路點集合對應(yīng)在主干道路網(wǎng)上的初始主干路徑中選定目標主干路徑,并確定所述目標主干路徑對應(yīng)的目標起始路點和目標終止路點。
      [0116]在搜集區(qū)域中查找初始路點時,查找到的初始路點可能都有多個,其中每一個初始起始路點和每一個初始終止路點之間都可以形成一條主干道路網(wǎng)上的初始主干路徑,所以查找到的初始主干路徑就有多條,此時就需要從多條初始主干路徑中選擇一條作為目標主干路徑,而該目標主干路徑的起始路點和終止路點即為目標起始路點和目標終止路點。
      [0117]在從多條路徑和多個路點中選擇目標主干路徑與目標起始路點和終止路點時,可以先確定兩個目標路點再由兩個目標路點確定目標主干路徑,或者也可以先確定目標主干路徑再由目標主干路徑確定兩個目標路點。例如,目標主干路徑和兩個目標路點可以都是隨機確定的;又如,兩個目標路點可以是距離起點和終點最近的路點,然后由兩個目標路點確定目標主干路徑;再如,目標主干路徑可以是查找的所有路徑中路徑距離最短的路徑,然后由目標主干路徑確定兩個目標路點。
      [0118]為使對象能夠通過最短的路徑到達終端,本實施方式中以最短的初始主干路徑作為目標主干路徑,提供了兩種可能的從初始主干路徑中確定目標主干路徑的實施方式。需要說明的是,對于主干道路網(wǎng)上任意兩個不同的路點之間,由于主干道路網(wǎng)上各條道路相互銜接,連接兩個路點的主干路徑一般都有多條,為了使得路徑距離最短,以下兩種實施方式中,每對初始起始路點和初始終止路點之間的初始主干路徑,都是該對路點之間在主干道路網(wǎng)上的最短路徑。
      [0119]第一種確定方式,是預(yù)先計算主干道路網(wǎng)上每兩個路點之間連接的最短路徑及其路徑長度,并以該最短路徑、路徑長度與其對應(yīng)的兩個路點之間的對應(yīng)關(guān)系作為第一路徑信息保存,在需要確定目標主干路徑時,根據(jù)初始起始路點和初始終止路點,從第一路徑信息中查找出其最短路徑作為其初始主干路徑。參見圖9,第一種確定方式例如具體可以包括:
      [0120]步驟901、從預(yù)先保存的第一路徑信息中,確定各個所述起止路點集合中起始路點與終止路點之間在所述主干道路網(wǎng)上的最短路徑,作為各個所述起止點集合對應(yīng)的初始主干路徑。
      [0121]其中,該預(yù)先保存的第一路徑信息中,需要記載有主干道路網(wǎng)上每對不同路點之間的最短路徑及該最短路徑的路徑長度,以便在確定時可以根據(jù)起始路點和終止路點就可以直接查找到該兩路點之間的最短路徑。其中,最短路徑在第一路徑信息中可以是在該路徑上的各個路點的編號按照連接的順序組成的編號集合。為預(yù)先保存第一路徑信息,需要在預(yù)先設(shè)置好主干道路網(wǎng)時,就計算出該主干道路網(wǎng)上每對不同的路點之間的最短路徑及其長度;計算方式,例如可以先從主干道路網(wǎng)上確定出每條道路的端點(度數(shù)不等于2的路點,也即一條道路的起止點),然后計算出所有路點的連通矩陣,再利用多源最短路徑算法(例如弗洛伊德算法)計算出每對端點之間的最短路徑,進而計算出每對路點之間的最短路徑,即為該兩個路點分別到其最近的端點之間的連接路徑以及該對最近的端點之間的最短路徑組成的主干路徑。
      [0122]另外,第一路徑信息中對應(yīng)于每條最短路徑,可以以該路徑的起始路點和終止路點的編號為其搜索標記,在查找時就可以根據(jù)初始起始路點和初始終止路點查找到其對應(yīng)的最短路徑。
      [0123]步驟902、比較各個初始主干路徑的路徑長度,將路徑長度最小的初始主干路徑確定為所述目標主干路徑。
      [0124]步驟903、將所述目標主干路徑對應(yīng)的初始起始路點作為目標起始路點,將所述目標主干路徑對應(yīng)的初始終止路點作為目標終止路點。
      [0125]通過第一種確定方式來確定目標主干路徑,游戲運行過程中可以不必再計算初始起始路點和初始終止路點之間的最短路徑,而是直接根據(jù)初始起始路點和初始終止路點從第一路徑信息中查找到對應(yīng)的最短路徑,從這方面來說減少了游戲運行過程中系統(tǒng)的計算量,提高了系統(tǒng)運行的效率,減少了響應(yīng)對象移動的時間。但是,由于主干道路網(wǎng)上有大量的路點,這不僅導(dǎo)致預(yù)先計算每對不同路點之間的最短路徑十分繁瑣,更重要的是,游戲運行過程中查找初始主干路徑需要在第一路徑信息中遍歷大量的最短路徑的相關(guān)信息,從這方面來說使得系統(tǒng)查詢的速度十分緩慢,這不僅導(dǎo)致響應(yīng)對象移動的延遲時間增長,也增加了系統(tǒng)的負擔(dān)。為了解決這一問題,可以采用第二種確定方式來確定目標主干路徑。
      [0126]第二種確定方式,是預(yù)先只計算主干道路網(wǎng)上道路端點之間連接的最短路徑及其路徑長度,并以該最短路徑、路徑長度與其對應(yīng)的兩個端點之間的對應(yīng)關(guān)系作為第二路徑信息保存,在需要確定目標主干路徑時,先查找所有初始起始路點和所有初始終止路點對應(yīng)的所有端點,再根據(jù)這些端點中每兩個不同端點之間在第二路徑信息中記載的最短路徑,來直接確定目標主干路徑而不再確定初始路點路徑。參見圖10,第二種確定方式例如具體可以包括:
      [0127]步驟1001、將各個初始起始路點所在的主干道路的端點作為初始起始端點,將各個初始終止路點所在的主干道路的端點作為初始終止端點。
      [0128]對于位于一條道路中的路點,其對應(yīng)的端點為該條道路兩端的路點,當(dāng)然,對于道路兩端的路點來說,其對應(yīng)的端點即為該路點本身。其中,對端點的識別,可以是將度數(shù)不為2的路點識別為端點。路點的度數(shù)表示與該路點連接其他路點的數(shù)量,如果度數(shù)不為2時可以表示該路點作為端點連接的道路數(shù)量,但度數(shù)為2則表示該路點位于一條道路的中間,不為端點。
      [0129]另外,本實施方式中,一條道路中,只有其兩端的路點度數(shù)不為2,其余路點度數(shù)均為2,也即,一條道路中間的路點均不屬于其他道路,或者說,中間的路點均不為中轉(zhuǎn)點。[0130]步驟1002、各個初始起始端點分別與各個初始終止端點一一對應(yīng)地組成起止端點集合,并從預(yù)先保存的第二路徑信息中,確定各個所述起止端點集合中起始端點與終止端點之間在所述主干道路網(wǎng)上的最短路徑,作為各個所述起止端點集合對應(yīng)的初始端點間路徑。
      [0131]兩個路點之間在主干道路網(wǎng)上存在多條不同的路徑連通,原因在于兩個路點之間的端點連接著多條道路,而兩個路點與其所在道路的端點之間的路徑則是不變的。由此可見,只需確定初始起始路點和初始終止路點所在道路的端點之間的最短路徑即可,因此預(yù)先保存的第二路徑信息中只需記載每對不同端點之間的最短路徑即可??梢岳斫獾氖牵總€路點一般都對應(yīng)著兩個端點,為了簡化系統(tǒng)需要處理的計算,可以不區(qū)分初始起始端點對應(yīng)的初始起始路點和初始終止終點對應(yīng)的初始終止路點,而使各個初始起始端點和各個
      初始終止端點--對應(yīng)地組成起止端點集合,來確定每個起止端點集合對應(yīng)的初始端點間路徑。
      [0132]其中,該預(yù)先保存的第二路徑信息中,需要記載有主干道路網(wǎng)上每對不同端點之間的最短路徑及該最短路徑的路徑長度,以便在確定時可以根據(jù)初始起始端點和初始終止端點就可以直接查找到該兩端點之間的最短路徑。其中,該最短路徑在第二路徑信息中可以是在該路徑上的各個路點的編號按照連接的順序組成的編號集合。為預(yù)先保存第二路徑信息,需要在預(yù)先設(shè)置好主干道路網(wǎng)時,就計算出該主干道路網(wǎng)上每對不同的端點之間的最短路徑及其長度;計算方式,例如可以先從主干道路網(wǎng)上確定出每條道路的端點,然后計算出所有路點的連通矩陣,再利用多源最短路徑算法(例如弗洛伊德算法)計算出每對端點之間的最短路徑及其路徑長度。
      [0133]另外,第一路徑信息中對應(yīng)于每條最短路徑,可以以該路徑的起始端點和終止端點的編號為其搜索標記,在查找時就可以根據(jù)初始起始端點和初始終止端點查找到其對應(yīng)的最短路徑及其路徑長度。 由于第二路徑信息中只需要每對端點之間的最短路徑,因此,預(yù)先只需要計算端點間最短路徑而不需要計算其他路點間最短路徑,這不但使得預(yù)先計算大大地簡化了,也使得預(yù)先計算的結(jié)果需要占用的存儲空間大大減小。
      [0134]步驟1003、比較各個初始端點間路徑的路徑長度,將路徑長度最小的初始端點間路徑確定為目標端點間路徑,并將所述目標端點間路徑的初始起始端點確定為目標起始端點,將所述目標終止端點確定為目標終止端點。
      [0135]需要說明的是,本實施方式是通過比較各對初始起始端點和初始終止端點之間的初始端點間路徑的路徑長度來直接確定目標主干路徑的,而可以不需要確定各對初始起始路點和初始終止路點之間的初始主干路徑。
      [0136]步驟1004、將所述目標起始端點對應(yīng)的初始起始路點作為目標起始路點,將所述目標終止端點對應(yīng)的初始終止路點作為目標終止路點,并以所述目標起始路點與所述目標起始端點之間的主干道路、所述目標端點間路徑以及所述目標終止端點與所述目標終止路點之間的主干道路,組成所述目標主干路徑。
      [0137]其中,所述目標起始端點對應(yīng)的初始起始路點,即為位于目標起始端點所在道路上的初始起始路點。同理,所述目標終止端點對應(yīng)的初始終止路點,即為位于目標終止端點所在道路上的初始終止路點。
      [0138]通過第二種確定方式來確定目標主干路徑,相比于第一種確定方式,由于主干道路網(wǎng)中端點數(shù)量遠遠小于路點的數(shù)量,因此預(yù)先需要計算的最短路徑數(shù)量大大減少,簡化了預(yù)先計算的復(fù)雜程度,并且,在游戲運行的過程中,由于查找初始端點間路徑所需遍歷的第二路徑信息中最短路徑數(shù)量大大減少,可以加快系統(tǒng)查詢的速度、縮短系統(tǒng)響應(yīng)對象移動的延遲時間,并減小系統(tǒng)的負擔(dān)。
      [0139]步驟403、連接起始路徑、查找到的所述目標主干路徑和終止路徑組成所述對象移動的移動路徑;所述起始路徑為連接所述起點至所述目標起始路點而形成的路徑,所述終止路徑為連接所述終點至所述目標終止路點而形成的終止路徑。
      [0140]其中,對于起始路徑和終止路徑,均可以是采用避開預(yù)設(shè)障礙物的方式來確定。
      [0141]另外,本實施例中,完成步驟403而確定了對象移動的移動路徑以后,還可以進一步判斷該移動路徑與該對象移動全程采用避開預(yù)設(shè)障礙物的方式確定的移動路徑相比是否路徑距離過大,如果過大,可以認為此時處于非特定情況,則可以采用避開預(yù)設(shè)障礙物的方式確定的移動路徑來執(zhí)行當(dāng)前的對象移動。
      [0142]通過本實施例的技術(shù)方案,由于在預(yù)先鋪設(shè)主干道路網(wǎng)時根據(jù)游戲場景的背景可以使主干道路網(wǎng)只經(jīng)過任何對象在任何情況下都可以進入的區(qū)域,而不經(jīng)過該游戲場景中的特定區(qū)域,因此,只需響應(yīng)一次對象移動的請求,對象移動在非特定情況下的移動路徑就可以沿主干道路網(wǎng)而避開不屬于障礙物的特定區(qū)域,從而使得無需調(diào)整對象移動的終點,無需多次觸發(fā)對象移動的請求,因此,系統(tǒng)就不再需要響應(yīng)多次觸發(fā)對象移動的請求。
      [0143]示例性設(shè)備
      [0144]在介紹了本發(fā)明示例性實施方式的方法之后,接下來,參考圖11對本發(fā)明示例性實施方式的、用于游戲中確定對象移動路徑的設(shè)備。
      [0145]參見圖11,示出了本發(fā)明中游戲中確定對象移動路徑的設(shè)備一實施例的結(jié)構(gòu)圖,本實施例例如可以包括:
      [0146]路網(wǎng)設(shè)置模塊1101,用于預(yù)先根據(jù)所述游戲場景的背景在所述游戲場景中設(shè)置主干道路網(wǎng);
      [0147]移動響應(yīng)模塊1102,用于響應(yīng)于觸發(fā)對象移動的請求,確定所述對象移動的起點和終點,并選取所述對象所在游戲場景的主干道路網(wǎng);
      [0148]主干查找模塊1103,用于根據(jù)所述起點和所述終點,查找所述對象移動在所述主干道路網(wǎng)上所經(jīng)過的目標主干路徑,并確定所述目標主干路徑上的目標起始路點和目標終止路點;
      [0149]移動路徑確定模塊1104,用于連接起始路徑、查找到的所述目標主干路徑和終止路徑組成所述對象移動的移動路徑;所述起始路徑為連接所述起點至所述目標起始路點而形成的路徑,所述終止路徑為連接所述終點至所述目標終止路點而形成的終止路徑。
      [0150]參見圖12,示出了本實施例中路網(wǎng)設(shè)置模塊1101 —實施方式的結(jié)構(gòu)圖,本實施方式例如可以包括:
      [0151]路點設(shè)置子模塊1201,用于響應(yīng)于對主干道路網(wǎng)中路點設(shè)置的操作,根據(jù)所述主干道路網(wǎng)所在游戲場景的背景,在所述游戲場景中設(shè)置路點;
      [0152]連接設(shè)置子模塊1202,用于響應(yīng)于對主干道路網(wǎng)中路點連接設(shè)置的操作,根據(jù)所述主干道路網(wǎng)所在游戲場景的背景,在所述游戲場景中設(shè)置各路點之間的連接關(guān)系。
      [0153]其中,可選地,所述對主干道路網(wǎng)中路點設(shè)置的操作,可以包括:增加主干道路網(wǎng)中路點的操作,和/或,刪除主干道路網(wǎng)中路點的操作;所述對主干道路網(wǎng)中路點連接的操作,可以包括:建立主干道路網(wǎng)中路點間連接的操作,和/或,刪除主干道路網(wǎng)中路點間連接的操作。
      [0154]參見圖13,示出了本實施例中所述主干查找模塊1103—實施方式的結(jié)構(gòu)圖,本實施方式例如可以包括:
      [0155]搜集區(qū)確定子模塊1301,用于在所述游戲場景中,確定所述起點所在的起點搜集區(qū)域和所述終點所在的終點搜集區(qū)域;
      [0156]初始路點查找子模塊1302,用于在所述起點搜集區(qū)域中查找屬于主干道路網(wǎng)上的路點作為初始起始路點,和,用于在所述終點搜集區(qū)域中查找屬于主干道路網(wǎng)上的路點作為初始終止路點;
      [0157]目標選定子模塊1303,用于各個初始起始路點分別與各個初始終止路點一一對應(yīng)地組成起止路點集合,從各個所述起止路點集合對應(yīng)在主干道路網(wǎng)上的初始主干路徑中選定目標主干路徑,并確定所述目標主干路徑對應(yīng)的目標起始路點和目標終止路點。
      [0158]其中,可選地,所述游戲場景可以具有預(yù)先根據(jù)所述主干道路網(wǎng)而劃分的多個節(jié)點區(qū)域;所述起點搜集區(qū)域可以包括:所述起點所在的起始節(jié)點區(qū)域,和,與所述起始節(jié)點區(qū)域相鄰的節(jié)點區(qū)域;所述終點搜集區(qū)域可以包括:所述終點所在的終止節(jié)點區(qū)域,和,與所述終止節(jié)點區(qū)域相鄰的節(jié)點區(qū)域。
      [0159]其中,可選地,所述游戲場景的各個節(jié)點區(qū)域中,屬于主干道路網(wǎng)上的路點的數(shù)量可以都不超過預(yù)設(shè)的點數(shù)閾值。
      [0160]參加圖14,示出了本實施例中所述目標選定子模塊1303 —實施方式的結(jié)構(gòu)圖,本實施方式例如可以包括:
      [0161]初始主路確定子模塊1401,用于各個初始起始路點分別與各個初始終止路點一一對應(yīng)地組成起止路點集合,并從預(yù)先保存的第一路徑信息中,確定各個所述起止路點集合中起始路點與終止路點之間在所述主干道路網(wǎng)上的最短路徑,作為各個所述起止點集合對應(yīng)的初始主干路徑;
      [0162]第一目標主路確定子模塊1402,用于比較各個初始主干路徑的路徑長度,將路徑長度最小的初始主干路徑確定為所述目標主干路徑;
      [0163]第一目標路點確定子模塊1403,用于將所述目標主干路徑對應(yīng)的初始起始路點作為目標起始路點,和,用于將所述目標主干路徑對應(yīng)的初始終止路點作為目標終止路點。
      [0164]參加圖15,示出了本實施例中所述目標選定子模塊1303又一實施方式的結(jié)構(gòu)圖,本實施方式例如可以包括:
      [0165]初始端點確定子模塊1501,用于將各個初始起始路點所在的主干道路的端點作為初始起始端點,和,用于將各個初始終止路點所在的主干道路的端點作為初始終止端點;
      [0166]初始纟而路確定子t旲塊1502,用于各個初始起始纟而點分別與各個初始終止纟而點對應(yīng)地組成起止端點集合,并從預(yù)先保存的第二路徑信息中,確定各個所述起止端點集合中起始端點與終止端點之間在所述主干道路網(wǎng)上的最短路徑,作為各個所述起止端點集合對應(yīng)的初始端點間路徑;
      [0167]目標端路確定子模塊1503,用于比較各個初始端點間路徑的路徑長度,將路徑長度最小的初始端點間路徑確定為目標端點間路徑;[0168]目標端點確定子模塊1504,用于將所述目標端點間路徑的初始起始端點確定為目標起始端點,將所述目標終止端點確定為目標終止端點;
      [0169]第二目標路點確定子模塊1505,用于將所述目標起始端點對應(yīng)的初始起始路點作為目標起始路點,將所述目標終止端點對應(yīng)的初始終止路點作為目標終止路點;
      [0170]第二目標主路確定子模塊1506,用于以所述目標起始路點與所述目標起始端點之間的主干道路、所述目標端點間路徑以及所述目標終止端點與所述目標終止路點之間的主干道路,組成所述目標主干路徑。
      [0171]通過本實施例的技術(shù)方案,由于在預(yù)先鋪設(shè)主干道路網(wǎng)時根據(jù)游戲場景的背景可以使主干道路網(wǎng)只經(jīng)過任何對象在任何情況下都可以進入的區(qū)域,而不經(jīng)過該游戲場景中的特定區(qū)域,因此,只需響應(yīng)一次對象移動的請求,對象移動在非特定情況下的移動路徑就可以沿主干道路網(wǎng)而避開不屬于障礙物的特定區(qū)域,從而使得無需調(diào)整對象移動的終點,無需多次觸發(fā)對象移動的請求,因此,系統(tǒng)就不再需要響應(yīng)多次觸發(fā)對象移動的請求。
      [0172]應(yīng)當(dāng)注意,盡管在上文詳細描述中提及了游戲中確定對象移動路徑的設(shè)備的若干裝置或子裝置,但是這種劃分僅僅并非強制性的。實際上,根據(jù)本發(fā)明的實施方式,上文描述的兩個或更多裝置的特征和功能可以在一個裝置中具體化。反之,上文描述的一個裝置的特征和功能可以進一步劃分為由多個裝置來具體化。
      [0173]此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。
      [0174]申請文件中提及的動詞“包括”、“包含”及其詞形變化的使用不排除除了申請文件中記載的那些元素或步驟之外的元素或步驟的存在。元素前的冠詞“一”或“一個”不排除多個這種元素的存在。
      [0175]雖然已經(jīng)參考若干【具體實施方式】描述了本發(fā)明的精神和原理,但是應(yīng)該理解,本發(fā)明并不限于所公開的【具體實施方式】,對各方面的劃分也不意味著這些方面中的特征不能組合以進行受益,這種劃分僅是為了表述的方便。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。所附權(quán)利要求的范圍符合最寬泛的解釋,從而包含所有這樣的修改及等同結(jié)構(gòu)和功能。
      【權(quán)利要求】
      1.一種方法,包括: 響應(yīng)于觸發(fā)對象移動的請求,確定所述對象移動的起點和終點,并調(diào)取所述對象所在游戲場景的主干道路網(wǎng);所述主干道路網(wǎng)是預(yù)先根據(jù)所述游戲場景的背景而在所述游戲場景中設(shè)置的; 根據(jù)所述起點和所述終點,查找所述對象移動在所述主干道路網(wǎng)上所經(jīng)過的目標主干路徑,并確定所述目標主干路徑上的目標起始路點和目標終止路點; 連接起始路徑、查找到的所述目標主干路徑和終止路徑組成所述對象移動的移動路徑;所述起始路徑為連接所述起點至所述目標起始路點而形成的路徑,所述終止路徑為連接所述終點至所述目標終止路點而形成的終止路徑。
      2.根據(jù)權(quán)利要求1所述的方法,所述主干道路網(wǎng)的設(shè)置,包括: 響應(yīng)于對主干道路網(wǎng)中路點設(shè)置的操作,根據(jù)所述主干道路網(wǎng)所在游戲場景的背景,在所述游戲場景中設(shè)置路點; 響應(yīng)于對主干道路網(wǎng)中路點連接設(shè)置的操作,根據(jù)所述主干道路網(wǎng)所在游戲場景的背景,在所述游戲場景中設(shè)置各路點之間的連接關(guān)系。
      3.根據(jù)權(quán)利要求2所述的方法,所述對主干道路網(wǎng)中路點設(shè)置的操作,包括:增加主干道路網(wǎng)中路點的操作,和/或,刪除主干道路網(wǎng)中路點的操作;所述對主干道路網(wǎng)中路點連接的操作,包括:建立主干道路網(wǎng)中路點間連接的操作,和/或,刪除主干道路網(wǎng)中路點間連接的操作。
      4.根據(jù)權(quán)利要求1所述的方法,所述根據(jù)所述起點和所述終點,查找所述對象移動在所述主干道路網(wǎng)上所經(jīng)過的目標主干路徑,并確定所述目標主干路徑上的目標起始路點和目標終止路點,包括: 在所述游戲場景中,確定所述起點所在的起點搜集區(qū)域和所述終點所在的終點搜集區(qū)域; 在所述起點搜集區(qū)域中查找屬于主干道路網(wǎng)上的路點,作為初始起始路點,并在所述終點搜集區(qū)域中查找屬于主干道路網(wǎng)上的路點,作為初始終止路點; 各個初始起始路點分別與各個初始終止路點--對應(yīng)地組成起止路點集合,從各個所述起止路點集合對應(yīng)在主干道路網(wǎng)上的初始主干路徑中選定目標主干路徑,并確定所述目標主干路徑對應(yīng)的目標起始路點和目標終止路點。
      5.根據(jù)權(quán)利要求4所述的方法,所述游戲場景具有預(yù)先根據(jù)所述主干道路網(wǎng)而劃分的多個節(jié)點區(qū)域; 所述起點搜集區(qū)域包括:所述起點所在的起始節(jié)點區(qū)域,和,與所述起始節(jié)點區(qū)域相鄰的節(jié)點區(qū)域; 所述終點搜集區(qū)域包括:所述終點所在的終止節(jié)點區(qū)域,和,與所述終止節(jié)點區(qū)域相鄰的節(jié)點區(qū)域。
      6.根據(jù)權(quán)利要求5所述的方法,所述游戲場景的各個節(jié)點區(qū)域中,屬于主干道路網(wǎng)上的路點的數(shù)量都不超過預(yù)設(shè)的點數(shù)閾值。
      7.根據(jù)權(quán)利要求4所述的方法,所述從各個所述起止路點集合對應(yīng)在主干道路網(wǎng)上的初始主干路徑中選定目標主干路徑,并確定所述目標主干路徑對應(yīng)的目標起始路點和目標終止路點,包括:從預(yù)先保存的第一路徑信息中,確定各個所述起止路點集合中起始路點與終止路點之間在所述主干道路網(wǎng)上的最短路徑,作為各個所述起止點集合對應(yīng)的初始主干路徑; 比較各個初始主干路徑的路徑長度,將路徑長度最小的初始主干路徑確定為所述目標主干路徑; 將所述目標主干路徑對應(yīng)的初始起始路點作為目標起始路點,將所述目標主干路徑對應(yīng)的初始終止路點作為目標終止路點。
      8.根據(jù)權(quán)利要求4所述的方法,所述各個初始起始路點分別與各個初始終止路點一一對應(yīng)地組成起止路點集合,從各個所述起止路點集合對應(yīng)在主干道路網(wǎng)上的初始主干路徑中選定目標主干路徑,并確定所述目標主干路徑對應(yīng)的目標起始路點和目標終止路點,包括: 將各個初始起始路點所在的主干道路的端點作為初始起始端點,將各個初始終止路點所在的主干道路的端點作為初始終止端點; 各個初始起始端點分別與各個初始終止端點--對應(yīng)地組成起止端點集合;從預(yù)先保存的第二路徑信息中,確定各個所述起止端點集合中起始端點與終止端點之間在所述主干道路網(wǎng)上的最短路徑,作為各個所述起止端點集合對應(yīng)的初始端點間路徑;比較各個初始端點間路徑的路徑長度,將路徑長度最小的初始端點間路徑確定為目標端點間路徑,并將所述目標端點間路徑的初始起始端點確定為目標起始端點,將所述目標終止端點確定為目標終止端點; 將所述目標起始端點對應(yīng)的初始起始路點作為目標起始路點,將所述目標終止端點對應(yīng)的初始終止路點作為目標終止路點,并以所述目標起始路點與所述目標起始端點之間的主干道路、所述目標端點間路徑以及所述目標終止端點與所述目標終止路點之間的主干道路,組成所述目標主干路徑。
      9.一種設(shè)備,包括:` 路網(wǎng)設(shè)置模塊,用于預(yù)先根據(jù)所述游戲場景的背景在所述游戲場景中設(shè)置主干道路網(wǎng); 移動響應(yīng)模塊,用于響應(yīng)于觸發(fā)對象移動的請求,確定所述對象移動的起點和終點,并選取所述對象所在游戲場景的主干道路網(wǎng);主干查找模塊,用于根據(jù)所述起點和所述終點,查找所述對象移動在所述主干道路網(wǎng)上所經(jīng)過的目標主干路徑,并確定所述目標主干路徑上的目標起始路點和目標終止路點;移動路徑確定模塊,用于連接起始路徑、查找到的所述目標主干路徑和終止路徑組成所述對象移動的移動路徑;所述起始路徑為連接所述起點至所述目標起始路點而形成的路徑,所述終止路徑為連接所述終點至所述目標終止路點而形成的終止路徑。
      10.根據(jù)權(quán)利要求9所述的設(shè)備,所述路網(wǎng)設(shè)置模塊,包括: 路點設(shè)置子模塊,用于響應(yīng)于對主干道路網(wǎng)中路點設(shè)置的操作,根據(jù)所述主干道路網(wǎng)所在游戲場景的背景,在所述游戲場景中設(shè)置路點; 連接設(shè)置子模塊,用于響應(yīng)于對主干道路網(wǎng)中路點連接設(shè)置的操作,根據(jù)所述主干道路網(wǎng)所在游戲場景的背景,在所述游戲場景中設(shè)置各路點之間的連接關(guān)系。
      11.根據(jù)權(quán)利要求10所述的設(shè)備,所述對主干道路網(wǎng)中路點設(shè)置的操作,包括:增加主干道路網(wǎng)中路點的操作,和/或,刪除主干道路網(wǎng)中路點的操作;所述對主干道路網(wǎng)中路點連接的操作,包括:建立主干道路網(wǎng)中路點間連接的操作,和/或,刪除主干道路網(wǎng)中路點間連接的操作。
      12.根據(jù)權(quán)利要求9所述的設(shè)備,所述主干查找模塊,包括: 搜集區(qū)確定子模塊,用于在所述游戲場景中,確定所述起點所在的起點搜集區(qū)域和所述終點所在的終點搜集區(qū)域; 初始路點查找子模塊,用于在所述起點搜集區(qū)域中查找屬于主干道路網(wǎng)上的路點作為初始起始路點,和,用于在所述終點搜集區(qū)域中查找屬于主干道路網(wǎng)上的路點作為初始終止路點; 目標選定子模塊,用于各個初始起始路點分別與各個初始終止路點--對應(yīng)地組成起止路點集合,并從各個所述起止路點集合對應(yīng)在主干道路網(wǎng)上的初始主干路徑中選定目標主干路徑,并確定目標主干路徑對應(yīng)的目標起始路點和目標終止路點。
      13.根據(jù)權(quán)利要求12所述的設(shè)備,所述游戲場景具有預(yù)先根據(jù)所述主干道路網(wǎng)而劃分的多個節(jié)點區(qū)域; 所述起點搜集區(qū)域包括:所述起點所在的起始節(jié)點區(qū)域,和,與所述起始節(jié)點區(qū)域相鄰的節(jié)點區(qū)域; 所述終點搜集區(qū)域包括:所述終點所在的終止節(jié)點區(qū)域,和,與所述終止節(jié)點區(qū)域相鄰的節(jié)點區(qū)域。
      14.根據(jù)權(quán)利要求13所述的設(shè)備,所述游戲場景的各個節(jié)點區(qū)域中,屬于主干道路網(wǎng)上的路點的數(shù)量都不超過預(yù)設(shè)的點數(shù)閾值。
      15.根據(jù)權(quán)利要求12所述的設(shè)備,所述目標選定子模塊,包括: 初始主路確定子模塊,用于各個初始起始路點分別與各個初始終止路點一一對應(yīng)地組成起止路點集合,并從預(yù)先保存的第一路徑信息中,確定各個所述起止路點集合中起始路點與終止路點之間在所述主干道路網(wǎng)上的最短路徑,作為各個所述起止點集合對應(yīng)的初始主干路徑; 第一目標主路確定子模塊,用于比較各個初始主干路徑的路徑長度,將路徑長度最小的初始主干路徑確定為所述目標主干路徑; 第一目標路點確定子模塊,用于將所述目標主干路徑對應(yīng)的初始起始路點作為目標起始路點,和,用于將所述目標主干路徑對應(yīng)的初始終止路點作為目標終止路點。
      16.根據(jù)權(quán)利要求12所述的設(shè)備,所述目標選定子模塊,包括: 初始端點確定子模塊,用于將各個初始起始路點所在的主干道路的端點作為初始起始端點,和,用于將各個初始終止路點所在的王干道路的端點作為初始終止端點; 初始端路確定子模塊,用于各個初始起始端點分別與各個初始終止端點--對應(yīng)地組成起止端點集合,并從預(yù)先保存的第二路徑信息中,確定各個所述起止端點集合中起始端點與終止端點之間在所述主干道路網(wǎng)上的最短路徑,作為各個所述起止端點集合對應(yīng)的初始端點間路徑; 目標端路確定子模塊,用于比較各個初始端點間路徑的路徑長度,將路徑長度最小的初始端點間路徑確定為目標端點間路徑; 目標端點確定子模塊,用于將所述目標端點間路徑的初始起始端點確定為目標起始端點,將所述目標終止端點確定為目標終止端點;第二目標路點確定子模塊,用于將所述目標起始端點對應(yīng)的初始起始路點作為目標起始路點,將所述目標終止端點對應(yīng)的初始終止路點作為目標終止路點; 第二目標主路確定子模塊,用于以所述目標起始路點與所述目標起始端點之間的主干道路、所述目標端點間路徑以及所述目標終止端點與所述目標終止路點之間的主干道路,組成所述目標主干路徑。
      【文檔編號】G06F19/00GK103714234SQ201310346475
      【公開日】2014年4月9日 申請日期:2013年8月9日 優(yōu)先權(quán)日:2013年8月9日
      【發(fā)明者】陳俊俊, 關(guān)子敬 申請人:網(wǎng)易(杭州)網(wǎng)絡(luò)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1