欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

三維角色扮演游戲中實現(xiàn)動態(tài)阻擋的方法、裝置及系統(tǒng)的制作方法

文檔序號:6356312閱讀:225來源:國知局
專利名稱:三維角色扮演游戲中實現(xiàn)動態(tài)阻擋的方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機通信技術(shù),特別涉及一種三維角色扮演游戲中實現(xiàn)動態(tài)阻擋的方法、裝置及系統(tǒng)。
背景技術(shù)
隨著計算機通信技術(shù)的發(fā)展,基于客戶端/服務(wù)器(C/S, Client/Server)架構(gòu)開發(fā)的 3D 大型多人在線角色扮演游戲(3D MMORPG, 3D MassivelyMultiplayer Online RolePlaying Game),由于具有高流暢度、操作手感好、即時戰(zhàn)斗等特點,而且,還可以通過在游戲中加入單機游戲中常見的用于劃分戰(zhàn)斗區(qū)域的動態(tài)阻擋機制,即通過在游戲進行過程中動態(tài)地改變游戲場景中某些區(qū)域的連通關(guān)系,可以增強角色與場景之間的互動、提高游戲的可玩度以及觀賞性,因而,深受用戶喜愛。
現(xiàn)有3D單機游戲中,一般通過基于物理碰撞的檢測機制來實現(xiàn)游戲的動態(tài)阻擋,具體來說,通過美術(shù)人員手工或者工具自動在游戲的三維模型上設(shè)置用于實現(xiàn)動態(tài)阻擋的碰撞檢測數(shù)據(jù),并將碰撞檢測數(shù)據(jù)固化在三維模型上,在游戲進行過程中,通過這些數(shù)據(jù)來進行碰撞檢測。例如,游戲中的門為一個三維物體,通過游戲用戶與門在三維空間上的交互,如果檢測到游戲用戶在三維空間與門發(fā)生碰撞,則游戲用戶就不能穿過該門。由上述可見,現(xiàn)有的基于物理碰撞的檢測機制來實現(xiàn)游戲動態(tài)阻擋的方法,需要在三維空間上獲取碰撞檢測數(shù)據(jù),需要耗費大量計算資源,對CPU計算能力要求較高,增加了用戶成本;進一步地,由于需要傳輸三維碰撞檢測數(shù)據(jù)以及游戲事件對應(yīng)的游戲場景的游戲數(shù)據(jù),客戶端與服務(wù)器之間消耗的資源多,數(shù)據(jù)傳輸所需時間較長,使得同步效率較低。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提出一種三維角色扮演游戲中實現(xiàn)動態(tài)阻擋的方法,降低計算所需的資源量、提高數(shù)據(jù)同步效率。本發(fā)明的另一目的在于提出一種三維角色扮演游戲中實現(xiàn)動態(tài)阻擋的裝置,降低計算所需的資源量、提高數(shù)據(jù)同步效率。本發(fā)明的再一目的在于提出一種三維角色扮演游戲中實現(xiàn)動態(tài)阻擋的系統(tǒng),降低計算所需的資源量、提高數(shù)據(jù)同步效率。為達到上述目的,本發(fā)明提供了一種三維角色扮演游戲中實現(xiàn)動態(tài)阻擋的方法,該方法包括場景編輯器預(yù)先在三維游戲場景投影形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端;服務(wù)器和客戶端加載映射關(guān)系表,建立三維游戲場景與二維游戲場景的映射關(guān)系;客戶端確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送;根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;根據(jù)更新的映射關(guān)系表,確定游戲路徑,并根據(jù)服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型對應(yīng)的游戲操作策略進行操作。進一步包括按照預(yù)先設(shè)置尺寸的阻擋格子對二維游戲場景進行細化,并在每個阻擋格子中存 儲所屬的動態(tài)阻擋區(qū)域標識。所述阻擋類型包括可達、不可達以及條件可達。所述條件可達包括只進不出以及只出不進。所述根據(jù)更新的映射關(guān)系表,確定游戲路徑具體包括Al、判斷根據(jù)預(yù)先設(shè)置的尋路搜索算法搜索得到的下一阻擋格子的阻擋類型是否為不可達,如果是,尋路失敗,繼續(xù)進行搜索,否則,執(zhí)行步驟A2 ;A2、判斷當前阻擋格子的阻擋類型是否為可達、且搜索得到的下一阻擋格子的阻擋類型為條件可達中的只進不出,如果是,執(zhí)行步驟A3,否則,執(zhí)行步驟A4 ;A3、判斷搜索得到的下一阻擋格子所屬的區(qū)域標識是否大于或等于當前阻擋格子所屬的區(qū)域標識,如果是,將該下一阻擋格子作為當前阻擋格子,返回執(zhí)行步驟Al,否則,返回失敗;A4、判斷當前阻擋格子的阻擋類型是否為條件可達中的只出不進、且搜索得到的下一阻擋格子的阻擋類型為可達,如果是,執(zhí)行步驟A5,否則,執(zhí)行步驟A6 ;A5、判斷搜索得到的下一阻擋格子所屬的區(qū)域標識是否小于當前阻擋格子所屬的動態(tài)阻擋區(qū)域標識,如果是,將該下一阻擋格子作為當前阻擋格子,返回執(zhí)行步驟Al,否則,返回失??;A6、判斷當前阻擋格子的阻擋類型是否與搜索得到的下一阻擋格子的阻擋類型相同,如果是,將該下一阻擋格子作為當前阻擋格子,返回執(zhí)行步驟Al,否則,返回失敗。所述游戲事件與動態(tài)阻擋區(qū)域標識綁定。進一步包括確定根據(jù)預(yù)先設(shè)置的尋路搜索算法進行搜索得到的下一動態(tài)阻擋區(qū)域不包含游戲事件時,根據(jù)存儲的映射關(guān)系表,執(zhí)行所述確定游戲路徑,并根據(jù)確定的游戲路徑查詢預(yù)先存儲的游戲操作策略,按照獲取的該游戲路徑的阻擋類型對應(yīng)的游戲操作策略進行操作。一種角色扮演游戲中實現(xiàn)動態(tài)阻擋的裝置,該裝置包括二維游戲場景處理模塊以及阻擋格子劃分模塊,其中,二維游戲場景處理模塊,用于將三維游戲場景投影形成二維游戲場景,在形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端;阻擋格子劃分模塊,用于按照預(yù)先設(shè)置尺寸的阻擋格子對二維游戲場景處理模塊投影形成的二維游戲場景進行細化,并在每個阻擋格子中存儲所屬的動態(tài)阻擋區(qū)域標識。該裝置進一步包括映射關(guān)系表存儲模塊、二維游戲場景加載模塊、尋路處理模塊以及游戲操作策略表現(xiàn)模塊,其中,映射關(guān)系表存儲模塊,用于存儲接收的映射關(guān)系表;二維游戲場景加載模塊,用于根據(jù)接收的二維游戲場景以及映射關(guān)系表加載三維游戲場景與二維游戲場景的映射關(guān)系;尋路處理模塊,用于確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送; 根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;根據(jù)更新的映射關(guān)系表,確定游戲路徑;游戲操作策略表現(xiàn)模塊,用于在服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型對應(yīng)的游戲操作策略進行表現(xiàn)。所述尋路處理模塊進一步用于確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域不包含游戲事件時,根據(jù)存儲的映射關(guān)系表,執(zhí)行所述確定游戲路徑,并根據(jù)確定的游戲路徑查詢預(yù)先存儲的游戲操作策略,按照獲取的該游戲路徑的阻擋類型對應(yīng)的游戲操作策略進行操作。一種角色扮演游戲中實現(xiàn)動態(tài)阻擋的系統(tǒng),該系統(tǒng)包括場景編輯器、服務(wù)器以及客戶端,其中,場景編輯器,用于將三維游戲場景投影形成二維游戲場景,在形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端;服務(wù)器,用于根據(jù)接收的動態(tài)阻擋區(qū)域標識,邏輯處理并決定接收的動態(tài)阻擋區(qū)域標識對應(yīng)的動態(tài)阻擋區(qū)域的阻擋類型,將更新的動態(tài)阻擋區(qū)域的阻擋類型信息向客戶端發(fā)送;客戶端,用于存儲接收的映射關(guān)系表,根據(jù)接收的二維游戲場景以及映射關(guān)系表建立三維游戲場景與二維游戲場景的映射關(guān)系;確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送;根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;根據(jù)更新的映射關(guān)系表,確定游戲路徑,并根據(jù)服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型對應(yīng)的游戲操作策略進行操作。所述客戶端包括映射關(guān)系表存儲模塊、二維游戲場景加載模塊、尋路處理模塊以及游戲操作策略表現(xiàn)模塊,其中,映射關(guān)系表存儲模塊,用于存儲接收的映射關(guān)系表;
二維游戲場景加載模塊,用于根據(jù)接收的二維游戲場景以及映射關(guān)系表加載三維游戲場景與二維游戲場景的映射關(guān)系;尋路處理模塊,用于確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送;根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;根據(jù)更新的映射關(guān)系表,確定游戲路徑;游戲操作策略表現(xiàn)模塊,用于在服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型對應(yīng)的游戲操作策略進行表現(xiàn)。所述尋路處理模塊進一步用于確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域不包含游戲事件時,根據(jù)存儲的映射關(guān)系表,執(zhí)行所述確定游戲路徑,并根據(jù)確定的游戲路徑查詢預(yù)先存儲的游戲操作策略,按照獲取的該游戲路徑的阻擋類型對應(yīng)的游戲操作策略進行操作。所述場景編輯器包括二維游戲場景處理模塊以及阻擋格子劃分模塊,其中,二維游戲場景處理模塊,用于將三維游戲場景投影形成二維游戲場景,在形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端;阻擋格子劃分模塊,用于按照預(yù)先設(shè)置尺寸的阻擋格子對二維游戲場景處理模塊投影形成的二維游戲場景進行細化,并在每個阻擋格子中存儲所屬的動態(tài)阻擋區(qū)域標識。由上述的技術(shù)方案可見,本發(fā)明提供的一種三維角色扮演游戲中實現(xiàn)動態(tài)阻擋的方法、裝置及系統(tǒng),場景編輯器預(yù)先在三維游戲場景投影形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端;服務(wù)器和客戶端加載映射關(guān)系表,建立三維游戲場景與二維游戲場景的映射關(guān)系;客戶端確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送;根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;根據(jù)更新的映射關(guān)系表,確定游戲路徑,并根據(jù)服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型對應(yīng)的游戲操作策略進行操作。這樣,通過將三維游戲場景投影形成二維游戲場景,并在二維游戲場景中,將需要動態(tài)改變的動態(tài)阻擋區(qū)域進行標識并設(shè)置初始阻擋類型,建立映射關(guān)系表,使得在需要更新某個動態(tài)阻擋區(qū)域的阻擋類型時,只需更新映射關(guān)系表中該動態(tài)阻擋區(qū)域ID對應(yīng)的阻擋類型,無需對動態(tài)阻擋區(qū)域中存儲的內(nèi)容進行修改,降低了 CPU對計算能力的要求,降低了計算所需的資源量;同時,基于二維游戲場景進行數(shù)據(jù)傳輸,降低了傳輸?shù)臄?shù)據(jù)信息量以及進行數(shù)據(jù)處理所需的時間,提高了數(shù)據(jù)同步效率。


圖I為本發(fā)明實施例角色扮演游戲中實現(xiàn)動態(tài)阻擋的方法流程示意圖; 圖2為本發(fā)明實施例二維游戲場景中劃分的阻擋格子示意圖3為本發(fā)明實施例動態(tài)阻擋區(qū)域標識與阻擋類型的映射關(guān)系表示意圖;圖4為本發(fā)明實施例根據(jù)更新的映射關(guān)系表,確定游戲路徑的流程示意圖;圖5為本發(fā)明實施例角色扮演游戲中實現(xiàn)動態(tài)阻擋的系統(tǒng)結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例對本發(fā)明作進一步地詳細描述?,F(xiàn)有基于物理碰撞檢測機制來實現(xiàn)游戲動態(tài)阻擋的方法,通過獲取三維游戲模型的碰撞檢測數(shù)據(jù)進行上報,并將阻擋改變了的游戲數(shù)據(jù)發(fā)送至客戶端以進行同步,使得CPU開銷大,要求的CPU計算能力高,同步效率較低。本發(fā)明實施例中,考慮將三維游戲場景以頂視圖投影形成二維游戲場景,并將該二維游戲場景按照預(yù)設(shè)尺寸進行細分形成阻擋格子,通過為阻擋格子預(yù)先編輯二維阻擋數(shù)據(jù)并設(shè)置尋路算法,用以在二維空間檢測能否移 動以實現(xiàn)動態(tài)阻擋。圖I為本發(fā)明實施例角色扮演游戲中實現(xiàn)動態(tài)阻擋的方法流程示意圖。參見圖1,該流程包括步驟101,在預(yù)先形成的二維游戲場景中設(shè)置需要動態(tài)阻擋的區(qū)域,并建立各設(shè)置的動態(tài)阻擋區(qū)域與對應(yīng)的阻擋類型的映射關(guān)系表;本步驟中,預(yù)先在三維游戲場景投影形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表。場景編輯器將三維游戲場景以頂視圖投影形成二維游戲場景,根據(jù)游戲運營商的需求,設(shè)置需要動態(tài)阻擋的區(qū)域,即將原三維游戲場景中需要動態(tài)阻擋的區(qū)域投影為二維動態(tài)阻擋區(qū)域,并為每個動態(tài)阻擋區(qū)域設(shè)置動態(tài)阻擋區(qū)域標識,在動態(tài)阻擋區(qū)域中存儲動態(tài)阻擋區(qū)域標識,并建立每個動態(tài)阻擋區(qū)域標識及對應(yīng)的初始阻擋類型的映射關(guān)系表。本發(fā)明實施例中,設(shè)置的動態(tài)阻擋區(qū)域用于表示該區(qū)域內(nèi)的阻擋類型是可變的,對于二維游戲場景中除動態(tài)阻擋區(qū)域外的區(qū)域,其區(qū)域內(nèi)的阻擋類型可以是靜態(tài)配置的,一般不需改動。本發(fā)明實施例中,阻擋類型包括可達、不可達以及條件可達,其中,條件可達又包括只進不出以及只出不進。具體來說,可達用于表示從源動態(tài)阻擋區(qū)域至目的動態(tài)阻擋區(qū)域之間的路徑是暢通的,不存在任何阻擋;不可達用于表示從源動態(tài)阻擋區(qū)域至目的動態(tài)阻擋區(qū)域之間的路徑不是暢通的,存在不能穿越的阻擋區(qū)域;條件可達用于表示從源動態(tài)阻擋區(qū)域至目的動態(tài)阻擋區(qū)域之間的路徑的暢通依賴條件的變化;只進不出用于表示游戲用戶只能沿源動態(tài)阻擋區(qū)域至目的動態(tài)阻擋區(qū)域的路徑移動,而不能沿目的動態(tài)阻擋區(qū)域至源動態(tài)阻擋區(qū)域的路徑移動;只出不進則與只進不出相反。進一步地,還可以對二維游戲場景按照預(yù)先設(shè)置尺寸的阻擋格子進行細化,每個阻擋格子中存儲所屬的動態(tài)阻擋區(qū)域標識。這樣,可以避免阻擋格子類型改變時需要修改大量阻擋格子中的內(nèi)容。圖2為本發(fā)明實施例二維游戲場景中劃分的阻擋格子示意圖。參見圖2,場景編輯器將二維游戲場景設(shè)置為由1024*1024個阻擋格子組成的地圖,按照游戲運營商的配置,將多個阻擋格子組成一個動態(tài)阻擋區(qū)域,在阻擋類型改變時,該動態(tài)阻擋區(qū)域內(nèi)的所有阻擋格子對應(yīng)的阻擋類型相應(yīng)發(fā)生變化。本發(fā)明實施例中,投影的二維游戲場景中包括三個配置的需要動態(tài)修改的動態(tài)阻擋區(qū)域區(qū)域I 區(qū)域3,并設(shè)置區(qū)域I的區(qū)域標識為1,即其中包含的阻擋格子的標識為1,區(qū)域2的區(qū)域標識為2,區(qū)域3的區(qū)域標識為3。動態(tài)阻擋區(qū)域內(nèi)的阻擋格子存儲所屬動態(tài)阻擋區(qū)域標識,例如,區(qū)域I中的阻擋格子存儲的內(nèi)容為1,區(qū)域2中的阻擋格子存儲的內(nèi)容為2,以此類推,不屬于任何設(shè)置的動態(tài)阻擋區(qū)域的阻擋格子存儲的內(nèi)容為O。圖3為本發(fā)明實施例動態(tài)阻擋區(qū)域標識(區(qū)域ID)與阻擋類型的映射關(guān)系表示意圖。參見圖3,區(qū)域I的初始阻擋類型為1,區(qū)域2以及區(qū)域3的初始阻擋類型為2。在游戲進行中,動態(tài)阻擋區(qū)域以包含的游戲事件進行表現(xiàn),服務(wù)器在特定游戲事件觸發(fā)后,例如,門開啟/關(guān)閉、怪物被擊殺等,同步該動態(tài)阻擋區(qū)域的阻擋類型。步驟102,服務(wù)器和客戶端加載映射關(guān)系表,建立三維游戲場景與二維游戲場景的映射關(guān)系; 本步驟中,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端,服務(wù)器和客戶端將接收的二維游戲場景映射至三維游戲場景,即在客戶端進行游戲時,顯示游戲的三維場景,當用戶進行游戲?qū)ぢ泛笥|發(fā)游戲事件時,以映射的二維場景進行游戲的處理。步驟103,確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所在的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送;本步驟中,當用戶通過客戶端在三維游戲場景中移動時,需要進行尋路,通過尋路以確定在三維游戲中的移動路徑,本發(fā)明實施例中,根據(jù)預(yù)先設(shè)置的尋路搜索算法進行游戲路徑搜索,尋路搜索算法用于判定用戶能否通過動態(tài)阻擋區(qū)域,更確切地說,是返回一條能夠移動到目的動態(tài)阻擋區(qū)域的路徑,如果通過尋路搜索算法能夠確定至目的動態(tài)阻擋區(qū)域的可達路徑,則游戲用戶沿該可達路徑移動;如果通過尋路搜索算法不能夠確定至目的動態(tài)阻擋區(qū)域的可達路徑,則可以通過改變目的動態(tài)阻擋區(qū)域,例如,縮短路徑距離,重新進行尋路搜索,如果搜索得到的下一動態(tài)阻擋區(qū)域包含游戲事件時,表明該動態(tài)阻擋區(qū)域需要由服務(wù)器確定是否進行動態(tài)阻擋類型更新,只有在確定該動態(tài)阻擋區(qū)域的阻擋類型后,才能確定該動態(tài)阻擋區(qū)域是否可為游戲路徑,因而,在確定用戶觸發(fā)搜索得到的下一動態(tài)阻擋區(qū)域包含游戲事件后,例如,游戲用戶通過手動觸發(fā)(用鼠標去點擊門)或通過服務(wù)器邏輯觸發(fā)(游戲用戶擊殺BOSS)。獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,觸發(fā)游戲事件,以便服務(wù)器進行同步處理。本發(fā)明實施例中,可以將游戲事件與動態(tài)阻擋區(qū)域ID進行綁定,當然,實際應(yīng)用中,對于一個動態(tài)阻擋區(qū)域包含多個游戲事件的情形,可以設(shè)置游戲事件分別與該動態(tài)阻擋區(qū)域內(nèi)的子標識進行綁定,例如,當區(qū)域I內(nèi)包含的門有多個進出口時,設(shè)置子標識用以控制門開啟/關(guān)閉操作。步驟104,根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;本步驟中,游戲事件所屬的動態(tài)阻擋區(qū)域存儲的是該動態(tài)阻擋區(qū)域標識,因而,本發(fā)明實施例中,只需要更新建立的映射關(guān)系表,而無需對游戲事件所屬的動態(tài)阻擋區(qū)域存儲的內(nèi)容進行修改,降低了 CPU的資源消耗。本步驟中,阻擋類型的改變由服務(wù)器發(fā)起,服務(wù)器根據(jù)接收的游戲事件所屬的動態(tài)阻擋區(qū)域標識以及預(yù)先獲取的客戶端游戲信息,邏輯處理并決定游戲事件所屬的動態(tài)阻擋區(qū)域的阻擋類型,將更新的動態(tài)阻擋區(qū)域的阻擋類型信息向客戶端發(fā)送,客戶端接收服務(wù)器發(fā)送的動態(tài)阻擋區(qū)域的阻擋類型信息并進行相應(yīng)的更新。后續(xù)中,服務(wù)器如果需要更新某一動態(tài)阻擋區(qū)域的阻擋類型,只需要將該動態(tài)阻擋區(qū)域ID以及對應(yīng)的阻擋類型信息發(fā)送至客戶端,客戶端根據(jù)接收的動態(tài)阻擋區(qū)域ID,查找并更新映射關(guān)系表中該接收的動態(tài)阻擋區(qū)域ID映射的阻擋類型。步驟105,根據(jù)更新的映射關(guān)系表,確定游戲路徑,查詢預(yù)先存儲的游戲操作策略,按照確定的游戲路徑對應(yīng)的游戲操作策略進行操作。本步驟中,客戶端在服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型確定的游戲路徑對應(yīng)的游戲操作策略進行操作。 實際應(yīng)用中,在游戲?qū)ぢ愤^程中,客戶端需要根據(jù)客戶端當前所在路徑(當前動態(tài)阻擋區(qū)域)對應(yīng)的阻擋類型以及搜索得到的下一路徑(下一動態(tài)阻擋區(qū)域)對應(yīng)的阻擋類型,確定該下一路徑是否為游戲路徑。并在確定游戲路徑后,根據(jù)游戲路徑中更新的阻擋類型信息,查詢獲取該路徑對應(yīng)的游戲操作策略,進行相應(yīng)的動畫播放。例如,當用戶觸發(fā)三維游戲場景中的門、阻隔道路的石頭、橋斷裂等游戲事件時,如果用戶達到門事件所在的動態(tài)阻擋區(qū)域、且該門事件對應(yīng)的阻擋類型為只進不出,當用戶點擊門,則客戶端播放相應(yīng)門開啟的動畫,并在用戶進入該門后,播放該門關(guān)閉的動畫;再例如,如果用戶達到橋斷裂事件所在的動態(tài)阻擋區(qū)域、且該橋斷裂事件對應(yīng)的阻擋類型為不可達,則在用戶到達該橋斷裂事件所屬的動態(tài)阻擋區(qū)域時,客戶端播放相應(yīng)橋斷裂的動畫。實際應(yīng)用中,當搜索得到的下一動態(tài)阻擋區(qū)域不包含游戲事件時,表明該動態(tài)阻擋區(qū)域?qū)?yīng)的阻擋類型為靜態(tài)配置,不需要向服務(wù)器上報以確定是否需要動態(tài)更新阻擋類型信息,直接根據(jù)客戶端存儲的映射關(guān)系表,確定游戲路徑。圖4為本發(fā)明實施例根據(jù)更新的映射關(guān)系表,確定游戲路徑的流程示意圖。參見圖4,也就是判斷搜索得到的下一阻擋格子與當前阻擋格子的連通關(guān)系,以動態(tài)阻擋區(qū)域劃分為阻擋格子為例,該流程包括步驟401,判斷根據(jù)預(yù)先設(shè)置的尋路搜索算法搜索得到的下一阻擋格子的阻擋類型是否為不可達,如果是,尋路失敗,繼續(xù)進行搜索,直到下一個格子包含目的點,如果已經(jīng)沒有需要考察的阻擋格子,且未達到目的點,則返回失敗。否則,執(zhí)行步驟402 ;本步驟中,尋路搜索算法具體可參見相關(guān)技術(shù)文獻,在此不再贅述。步驟402,判斷當前阻擋格子的阻擋類型是否為可達、且搜索得到的下一阻擋格子的阻擋類型為條件可達中的只進不出,如果是,執(zhí)行步驟403,否則,執(zhí)行步驟404 ;步驟403,判斷搜索得到的下一阻擋格子所屬的區(qū)域ID是否大于或等于當前阻擋格子所屬的區(qū)域ID,如果是,尋路路徑為搜索得到的下一阻擋格子,否則,尋路失??;本步驟中,如果搜索得到的下一阻擋格子所屬的區(qū)域ID大于或等于當前阻擋格子所屬的區(qū)域ID,即尋路路徑為搜索得到的下一阻擋格子,將該下一阻擋格子作為當前阻擋格子,返回執(zhí)行步驟401,繼續(xù)尋路,直到下一個格子包含目的點,如果已經(jīng)沒有需要考察的阻擋格子,且未達到目的點,則返回失敗
步驟404,判斷當前阻擋格子的阻擋類型是否為條件可達中的只出不進、且搜索得到的下一阻擋格子的阻擋類型為可達,如果是,執(zhí)行步驟405,否則,執(zhí)行步驟406 ;步驟405,判斷搜索得到的下一阻擋格子所屬的區(qū)域ID是否小于當前阻擋格子所屬的動態(tài)阻擋區(qū)域ID,如果是,尋路路徑為搜索得到的下一阻擋格子,否則,尋路失??;本步驟中,如果搜索得到的下一阻擋格子所屬的區(qū)域ID小于當前阻擋格子所屬的動態(tài)阻擋區(qū)域ID,將該下一阻擋格子作為當前阻擋格子,返回執(zhí)行步驟401,繼續(xù)尋路,直到下一個格子包含目的點,如果已經(jīng)沒有需要考察的阻擋格子,且未達到目的點,則返回失敗。步驟406,判斷當前阻擋格子的阻擋類型是否與搜索得到的下一阻擋格子的阻擋類型相同,如果是,尋路路徑為搜索得到的下一阻擋格子,否則,尋路失敗。本步驟中,如果當前阻擋格子的阻擋類型與搜索得到的下一阻擋格子的阻擋類型 相同,將該下一阻擋格子作為當前阻擋格子,返回執(zhí)行步驟401,繼續(xù)尋路,直到下一個格子包含目的點,如果已經(jīng)沒有需要考察的阻擋格子,且未達到目的點,則返回失敗。設(shè)α=0為動態(tài)阻擋區(qū)域ID,a e
,其中,α = O和α = 255是游戲運行中阻擋類型固定不變的區(qū)域,即設(shè)置的動態(tài)阻擋區(qū)域外的區(qū)域,且設(shè)置α = O所屬的區(qū)域是始終可達,α = 255所屬的區(qū)域是始終不可達。β為阻擋類型
0,可達
I,不可達
2,條件可達(只進不出)
、3,條件可達(只出不進)本發(fā)明實施例中,設(shè)當前阻擋格子所在的動態(tài)阻擋區(qū)域ID為a i,對應(yīng)的阻擋類型為,下一阻擋格子所在的動態(tài)阻擋區(qū)域ID為Ci2,對應(yīng)的阻擋類型為β2,成功表示將當前尋路路徑更新為搜索得到的下一阻擋格子,然后繼續(xù)進行尋路,直至達到目的動態(tài)阻擋區(qū)域。則上述更新的映射關(guān)系表,確定游戲路徑的程序段代碼如下
IF/ 2=1, then
RETURN FALSE
ELSE IF =0 AND P2 =2 THEN BEGIN
IF a2 >- αλ THENRETURN TRUE ELSE
RETURN FALSE END
ELSE IF P1 = > AND / 2 = O THENBEGIN
IF ax > a2 THEN RETURN TRUE ELSE
RETURN FALSE END
ELSE IF P1=P2 THEN RETURN TRUE ELSE
RETURN FALSE由上述可見,本發(fā)明實施例的角色扮演游戲中實現(xiàn)動態(tài)阻擋的方法,預(yù)先在三維游戲場景投影形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表;將投影形成的二維游戲場景以及映射關(guān)系表下發(fā)至客戶端,客戶端存儲映射關(guān)系表,建立三維游戲場景與二維游戲場景的映射關(guān)系;確定根據(jù)預(yù)先設(shè)置的尋路搜索算法進行搜索得到的下一動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送;根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;根據(jù)更新的映射關(guān)系表,確定游戲路徑,并根據(jù)確定的游戲路徑查詢預(yù)先存儲的游戲操作策略,按照獲取的該動態(tài)阻擋區(qū)域標識的阻擋類型對應(yīng)的游戲操作策略進行操作。這樣,通過將三維游戲場景投影形成二維游戲場景,并在二維游戲場景中,將需要動態(tài)改變的動態(tài)阻擋區(qū)域進行標識并設(shè)置初始阻擋類型,建立映射關(guān)系表,使得在需要更新某個動態(tài)阻擋區(qū)域的阻擋類型時,只需更新映射關(guān)系表中該動態(tài)阻擋區(qū)域ID對應(yīng)的阻擋類型,無需對動態(tài)阻擋區(qū)域中存儲的內(nèi)容進行修改,降低了 CPU對計算能力的要求,降低了用戶成本;同時,基于二維游戲場景進行數(shù)據(jù)傳輸,大大降低了傳輸?shù)臄?shù)據(jù)信息量以及進行數(shù)據(jù)處理所需的時間,提高了同步效率;而且,可修改任意形狀動態(tài)阻擋區(qū)域的阻擋類型、改變阻擋類型的代價小,動態(tài)阻擋區(qū)域的預(yù)先指定保證了策劃對游戲運行中阻擋改變時表現(xiàn)的預(yù)期,并簡化了程序設(shè)計的復(fù)雜度;此外,在傳統(tǒng)A*尋路的基礎(chǔ)上,加入考慮動態(tài)阻擋的前后阻擋格子關(guān)聯(lián)的處理算法,保證了阻擋類型改變時尋路的有效性。圖5為本發(fā)明實施例角色扮演游戲中實現(xiàn)動態(tài)阻擋的系統(tǒng)結(jié)構(gòu)示意圖。參見圖5,該系統(tǒng)包括場景編輯器、服務(wù)器以及客戶端,其中,場景編輯器,用于將三維游戲場景投影形成二維游戲場景,在形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端;服務(wù)器,用于根據(jù)接收的動態(tài)阻擋區(qū)域標識,邏輯處理并決定接收的動態(tài)阻擋區(qū)域標識對應(yīng)的動態(tài)阻擋區(qū)域的阻擋類型,將更新的動態(tài)阻擋區(qū)域的阻擋類型信息向客戶端發(fā)送;客戶端,用于存儲接收的映射關(guān)系表,根據(jù)接收的二維游戲場景以及映射關(guān)系表建立三維游戲場景與二維游戲場景的映射關(guān)系;確定根據(jù)預(yù)先設(shè)置的尋路搜索算法進行搜索得到的下一動態(tài)阻擋區(qū)域(用戶觸發(fā)的目的動態(tài)阻擋區(qū)域)包含游戲事件時,獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送;根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;根據(jù)更新的映射關(guān)系表,確定游戲路徑,并根據(jù)服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型對應(yīng)的游戲操作策略進行操作。其中,服務(wù)器包括阻擋類型更新模塊,阻擋類型更新模塊,用于根據(jù)接收的動態(tài)阻擋區(qū)域標識,邏輯處理并決定接收的動態(tài)阻擋區(qū)域標識對應(yīng)的動態(tài)阻擋區(qū)域的阻擋類型,將更新的動態(tài)阻擋區(qū)域的阻擋類型信息向客戶端發(fā)送。場景編輯器包括二維游戲場景處理模塊,二維游戲場景處理模塊,用于將三維游戲場景投影形成二維游戲場景,在形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端;進一步包括阻擋格子劃分模塊,用于按照預(yù)先設(shè)置尺寸的阻擋格子對二維游戲場景處理模塊投影形成的二維游戲場景進行細化,并在每個阻擋格子中存儲所屬的動態(tài)阻擋區(qū)域標識。客戶端包括映射關(guān)系表存儲模塊、二維游戲場景加載模塊、尋路處理模塊以及游戲操作策略表現(xiàn)模塊,其中,映射關(guān)系表存儲模塊,用于存儲接收的映射關(guān)系表;二維游戲場景加載模塊,用于根據(jù)接收的二維游戲場景以及映射關(guān)系表加載三維游戲場景與二維游戲場景的映射關(guān)系;尋路處理模塊,用于確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域包含游戲事件時,獲取該 游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送;根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;
根據(jù)更新的映射關(guān)系表,確定游戲路徑;游戲操作策略表現(xiàn)模塊,用于在服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型對應(yīng)的游戲操作策略進行表現(xiàn)。實際應(yīng)用中,尋路處理模塊還可以進一步用于確定根據(jù)預(yù)先設(shè)置的尋路搜索算法進行搜索得到的下一動態(tài)阻擋區(qū)域不包含游戲事件時,根據(jù)存儲的映射關(guān)系表,執(zhí)行所述確定游戲路徑,并根據(jù)確定的游戲路徑查詢預(yù)先存儲的游戲操作策略,按照獲取的該游戲路徑的阻擋類型對應(yīng)的游戲操作策略進行操作。當然,實際應(yīng)用中,場景編輯器與客戶端也可以集成在同一物理設(shè)備中,即在該物理設(shè)備中,包含二維游戲場景處理模塊、阻擋格子劃分模塊、映射關(guān)系表存儲模塊、二維游戲場景加載模塊、尋路處理模塊以及游戲操作策略表現(xiàn)模塊,各模塊執(zhí)行的功能如上所述,在此不再贅述。以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在 本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種三維角色扮演游戲中實現(xiàn)動態(tài)阻擋的方法,其特征在于,該方法包括 場景編輯器預(yù)先在三維游戲場景投影形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端; 服務(wù)器和客戶端加載映射關(guān)系表,建立三維游戲場景與二維游戲場景的映射關(guān)系; 客戶端確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送; 根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;根據(jù)更新的映射關(guān)系表,確定游戲路徑,并根據(jù)服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型對應(yīng)的游戲操作策略進行操作。
2.如權(quán)利要求I所述的方法,其特征在于,進一步包括 按照預(yù)先設(shè)置尺寸的阻擋格子對二維游戲場景進行細化,并在每個阻擋格子中存儲所屬的動態(tài)阻擋區(qū)域標識。
3.如權(quán)利要求2所述的方法,其特征在于,所述阻擋類型包括可達、不可達以及條件可達; 所述條件可達包括只進不出以及只出不進。
4.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)更新的映射關(guān)系表,確定游戲路徑具體包括 Al、判斷根據(jù)預(yù)先設(shè)置的尋路搜索算法搜索得到的下一阻擋格子的阻擋類型是否為不可達,如果是,尋路失敗,繼續(xù)進行搜索,否則,執(zhí)行步驟A2 ; A2、判斷當前阻擋格子的阻擋類型是否為可達、且搜索得到的下一阻擋格子的阻擋類型為條件可達中的只進不出,如果是,執(zhí)行步驟A3,否則,執(zhí)行步驟A4 ; A3、判斷搜索得到的下一阻擋格子所屬的區(qū)域標識是否大于或等于當前阻擋格子所屬的區(qū)域標識,如果是,將該下一阻擋格子作為當前阻擋格子,返回執(zhí)行步驟Al,否則,返回失敗; A4、判斷當前阻擋格子的阻擋類型是否為條件可達中的只出不進、且搜索得到的下一阻擋格子的阻擋類型為可達,如果是,執(zhí)行步驟A5,否則,執(zhí)行步驟A6 ; A5、判斷搜索得到的下一阻擋格子所屬的區(qū)域標識是否小于當前阻擋格子所屬的動態(tài)阻擋區(qū)域標識,如果是,將該下一阻擋格子作為當前阻擋格子,返回執(zhí)行步驟Al,否則,返回失敗; A6、判斷當前阻擋格子的阻擋類型是否與搜索得到的下一阻擋格子的阻擋類型相同,如果是,將該下一阻擋格子作為當前阻擋格子,返回執(zhí)行步驟Al,否則,返回失敗。
5.如權(quán)利要求I所述的方法,其特征在于,所述游戲事件與動態(tài)阻擋區(qū)域標識綁定。
6.如權(quán)利要求I所述的方法,其特征在于,進一步包括 確定根據(jù)預(yù)先設(shè)置的尋路搜索算法進行搜索得到的下一動態(tài)阻擋區(qū)域不包含游戲事件時,根據(jù)存儲的映射關(guān)系表,執(zhí)行所述確定游戲路徑,并根據(jù)確定的游戲路徑查詢預(yù)先存儲的游戲操作策略,按照獲取的該游戲路徑的阻擋類型對應(yīng)的游戲操作策略進行操作。
7.一種角色扮演游戲中實現(xiàn)動態(tài)阻擋的裝置,其特征在于,該裝置包括二維游戲場景處理模塊以及阻擋格子劃分模塊,其中, 二維游戲場景處理模塊,用于將三維游戲場景投影形成二維游戲場景,在形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端; 阻擋格子劃分模塊,用于按照預(yù)先設(shè)置尺寸的阻擋格子對二維游戲場景處理模塊投影形成的二維游戲場景進行細化,并在每個阻擋格子中存儲所屬的動態(tài)阻擋區(qū)域標識。
8.如權(quán)利要求7所述的裝置,其特征在于,所述裝置進一步包括映射關(guān)系表存儲模塊、二維游戲場景加載模塊、尋路處理模塊以及游戲操作策略表現(xiàn)模塊,其中, 映射關(guān)系表存儲模塊,用于存儲接收的映射關(guān)系表; 二維游戲場景加載模塊,用于根據(jù)接收的二維游戲場景以及映射關(guān)系表加載三維游戲場景與二維游戲場景的映射關(guān)系; 尋路處理模塊,用于確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送; 根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表; 根據(jù)更新的映射關(guān)系表,確定游戲路徑; 游戲操作策略表現(xiàn)模塊,用于在服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型對應(yīng)的游戲操作策略進行表現(xiàn)。
9.如權(quán)利要求8所述的裝置,其特征在于,所述尋路處理模塊進一步用于確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域不包含游戲事件時,根據(jù)存儲的映射關(guān)系表,執(zhí)行所述確定游戲路徑,并根據(jù)確定的游戲路徑查詢預(yù)先存儲的游戲操作策略,按照獲取的該游戲路徑的阻擋類型對應(yīng)的游戲操作策略進行操作。
10.一種角色扮演游戲中實現(xiàn)動態(tài)阻擋的系統(tǒng),其特征在于,該系統(tǒng)包括場景編輯器、服務(wù)器以及客戶端,其中, 場景編輯器,用于將三維游戲場景投影形成二維游戲場景,在形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端; 服務(wù)器,用于根據(jù)接收的動態(tài)阻擋區(qū)域標識,邏輯處理并決定接收的動態(tài)阻擋區(qū)域標識對應(yīng)的動態(tài)阻擋區(qū)域的阻擋類型,將更新的動態(tài)阻擋區(qū)域的阻擋類型信息向客戶端發(fā)送; 客戶端,用于存儲接收的映射關(guān)系表,根據(jù)接收的二維游戲場景以及映射關(guān)系表建立三維游戲場景與二維游戲場景的映射關(guān)系; 確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送; 根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;根據(jù)更新的映射關(guān)系表,確定游戲路徑,并根據(jù)服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型對應(yīng)的游戲操作策略進行操作。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述客戶端包括映射關(guān)系表存儲模塊、二維游戲場景加載模塊、尋路處理模塊以及游戲操作策略表現(xiàn)模塊,其中, 映射關(guān)系表存儲模塊,用于存儲接收的映射關(guān)系表; 二維游戲場景加載模塊,用于根據(jù)接收的二維游戲場景以及映射關(guān)系表加載三維游戲場景與二維游戲場景的映射關(guān)系; 尋路處理模塊,用于確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所在三維游戲場景映射的二維游戲場景中的動態(tài)阻擋區(qū)域標識,向服務(wù)器發(fā)送; 根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表; 根據(jù)更新的映射關(guān)系表,確定游戲路徑; 游戲操作策略表現(xiàn)模塊,用于在服務(wù)器同步阻擋類型改變時,查詢預(yù)先存儲的游戲操作策略,按照服務(wù)器同步改變的阻擋類型對應(yīng)的游戲操作策略進行表現(xiàn)。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述尋路處理模塊進一步用于確定用戶觸發(fā)的目的動態(tài)阻擋區(qū)域不包含游戲事件時,根據(jù)存儲的映射關(guān)系表,執(zhí)行所述確定游戲路徑,并根據(jù)確定的游戲路徑查詢預(yù)先存儲的游戲操作策略,按照獲取的該游戲路徑的阻擋類型對應(yīng)的游戲操作策略進行操作。
13.如權(quán)利要求11或12所述的系統(tǒng),其特征在于,所述場景編輯器包括二維游戲場景處理模塊以及阻擋格子劃分模塊,其中, 二維游戲場景處理模塊,用于將三維游戲場景投影形成二維游戲場景,在形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,分配動態(tài)阻擋區(qū)域標識,并建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,將投影形成的二維游戲場景以及映射關(guān)系表保存于文件,分發(fā)給服務(wù)器和客戶端; 阻擋格子劃分模塊,用于按照預(yù)先設(shè)置尺寸的阻擋格子對二維游戲場景處理模塊投影形成的二維游戲場景進行細化,并在每個阻擋格子中存儲所屬的動態(tài)阻擋區(qū)域標識。
全文摘要
本發(fā)明公開了一種三維角色扮演游戲中實現(xiàn)動態(tài)阻擋的方法、裝置及系統(tǒng)。預(yù)先在投影形成的二維游戲場景中,設(shè)置需要動態(tài)阻擋的區(qū)域,建立各設(shè)置的動態(tài)阻擋區(qū)域標識及對應(yīng)的阻擋類型的映射關(guān)系表,保存于文件,分發(fā)給服務(wù)器和客戶端,客戶端存儲映射關(guān)系表,建立三維游戲場景與二維游戲場景的映射關(guān)系;確定搜索得到的下一動態(tài)阻擋區(qū)域包含游戲事件時,獲取該游戲事件所屬的動態(tài)阻擋區(qū)域標識;根據(jù)服務(wù)器返回的攜帶動態(tài)阻擋區(qū)域標識的阻擋類型信息,更新建立的映射關(guān)系表;根據(jù)更新的映射關(guān)系表,確定游戲路徑,并根據(jù)確定的游戲路徑,獲取該動態(tài)阻擋區(qū)域標識的阻擋類型對應(yīng)的游戲操作策略,進行操作。應(yīng)用本發(fā)明,可以降低用戶成本、提高同步效率。
文檔編號G06F19/00GK102682466SQ20111006523
公開日2012年9月19日 申請日期2011年3月17日 優(yōu)先權(quán)日2011年3月17日
發(fā)明者羅恒希 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
定兴县| 泰来县| 永城市| 虞城县| 泗洪县| 会理县| 宜春市| 景泰县| 湾仔区| 浦江县| 吴忠市| 明光市| 彭州市| 微博| 上饶市| 平江县| 江陵县| 梧州市| 盐城市| 娄烦县| 图木舒克市| 宜春市| 丹凤县| 进贤县| 潞西市| 盱眙县| 崇仁县| 广德县| 四会市| 大姚县| 翼城县| 扶余县| 温州市| 天祝| 高台县| 汉阴县| 临泉县| 饶平县| 新竹市| 改则县| 攀枝花市|