日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種游戲中角色的移動控制方法和服務器以及客戶端的制作方法

文檔序號:10522051閱讀:445來源:國知局
一種游戲中角色的移動控制方法和服務器以及客戶端的制作方法
【專利摘要】本發(fā)明公開了一種游戲中角色的移動控制方法和服務器以及客戶端,用于減少客戶端側角色移動時造成的抖動,提高游戲體驗。本發(fā)明實施例提供一種游戲中角色的移動控制方法,包括:服務器接收第一客戶端發(fā)送的移動請求數(shù)據(jù)包,所述服務器用于管理處于相同游戲場景下的所述第一客戶端以及第二客戶端中角色的移動;所述服務器根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者所述第二客戶端;所述服務器更新所述目標客戶端的移動標識,然后所述服務器將所述目標客戶端的更新后的移動標識廣播給所述第一客戶端以及所述第二客戶端。
【專利說明】
一種游戲中角色的移動控制方法和服務器以及客戶端
技術領域
[0001]本發(fā)明涉及計算機技術領域,尤其涉及一種游戲中角色的移動控制方法和服務器以及客戶端。
【背景技術】
[0002]在網絡中傳輸數(shù)據(jù)包時,延遲現(xiàn)象是非常普遍的,而在基于服務器(英文名稱:Server)和客戶端(英文名稱:Client)的結構下,網絡游戲的同步也就成了非常頭疼的問題??蛻舳说慕巧苿佑煽蛻舳说牟僮饔脩艨刂?,在確??蛻舳隧憫脩舯镜刂噶盍鲿车那闆r下,沒法有效的確保同步的及時性,即使是同一局域網中的設備,也會因為傳輸?shù)难舆t,導致一些運算的失誤。介于此,現(xiàn)有技術中產生了一種用于網游的導航推測(英文名稱:Dead Reckoning)算法。
[0003]在多人在線戰(zhàn)術競技(英文全稱:Multiplayer Online Battle Arena,英文簡稱:Μ0ΒΑ)游戲中,需要在絕大多數(shù)客戶端有很好的移動控制解決方案,目的就是為了在正常的網絡延遲的情況下,每個玩家均有近似單機游戲般的體驗。例如,在MOBA游戲的5v5玩法中,每個客戶端都需要與服務器有交互,由于存在網絡延遲,每個客戶端得到的其它9個客戶端的第三方數(shù)據(jù)包是有延遲的,該延遲具體表現(xiàn)在上下行網絡傳輸時間上,例如轉向、轉彎、停止等移動相關的操作會導致玩家本人的視角與其它玩家的視角表現(xiàn)不一致。
[0004]現(xiàn)有技術提供的Dead Reckoning算法可以進行移動路徑同步,在移動網絡環(huán)境下,每個小移動(例如客戶端可能只是碰到移動羅盤)都會發(fā)送移動請求。在客戶端之間交互較少的情況下,會有比較好的體驗,但對于多重輸入產生多重輸出,并且各個輸出相互影響的情況下,必然會增加數(shù)據(jù)包數(shù)量,同時也增加各個客戶端的抖動,多個游戲客戶端的游戲體驗容易出現(xiàn)人物角色拉扯、瞬移的情況,降低了游戲體驗。

【發(fā)明內容】

[0005]本發(fā)明實施例提供了一種游戲中角色的移動控制方法和服務器以及客戶端,用于減少客戶端側角色移動時造成的抖動,提高游戲體驗。
[0006]為解決上述技術問題,本發(fā)明實施例提供以下技術方案:
[0007]第一方面,本發(fā)明實施例提供一種游戲中角色的移動控制方法,包括:
[0008]服務器接收第一客戶端發(fā)送的移動請求數(shù)據(jù)包,所述服務器用于管理處于相同游戲場景下的所述第一客戶端以及第二客戶端中角色的移動;
[0009]所述服務器根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者所述第二客戶端;
[0010]所述服務器更新所述目標客戶端的移動標識,然后所述服務器將所述目標客戶端的更新后的移動標識廣播給所述第一客戶端以及所述第二客戶端。
[0011 ]第二方面,本發(fā)明實施例還提供一種游戲中角色的移動控制方法,包括:
[0012]第一客戶端向服務器發(fā)送移動請求數(shù)據(jù)包,由所述服務器根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者第二客戶端;
[0013]所述第一客戶端接收所述服務器發(fā)送的所述目標客戶端的更新后的移動標識;
[0014]所述第一客戶端根據(jù)接收到的所述目標客戶端的更新后的移動標識顯示所述目標客戶端的角色移動。
[0015]第三方面,本發(fā)明實施例還提供一種服務器,包括:
[0016]接收模塊,用于接收第一客戶端發(fā)送的移動請求數(shù)據(jù)包,所述服務器用于管理處于相同游戲場景下的所述第一客戶端以及第二客戶端中角色的移動;
[0017]目標客戶端判斷模塊,用于根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者所述第二客戶端;
[0018]移動標識處理模塊,用于更新所述目標客戶端的移動標識,然后所述服務器將所述目標客戶端的更新后的移動標識廣播給所述第一客戶端以及所述第二客戶端。
[0019]第四方面,本發(fā)明實施例還提供一種客戶端,客戶端具體為第一客戶端,該第一客戶端和第二客戶端處于相同的游戲場景中,所述第一客戶端,包括:
[0020]發(fā)送模塊,用于向服務器發(fā)送移動請求數(shù)據(jù)包,由所述服務器根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者第二客戶端;
[0021]接收模塊,用于所述第一客戶端接收所述服務器發(fā)送的所述目標客戶端的更新后的移動標識;
[0022]顯示模塊,用于根據(jù)接收到的所述目標客戶端的更新后的移動標識顯示所述目標客戶端的角色移動。
[0023]從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
[0024]在本發(fā)明實施例中,第一客戶端向服務器發(fā)送移動請求數(shù)據(jù)包,服務器根據(jù)接收到的移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是第一客戶端或者第二客戶端,然后服務器更新該目標客戶端的移動標識,然后服務器將目標客戶端的更新后的移動標識廣播給第一客戶端以及第二客戶端。由于服務器在確定出目標客戶端之后,服務器可以對該目標客戶端的移動標識進行更新并廣播,第一客戶端和第二客戶端都可以通過服務器的廣播獲取到目標客戶端的移動標識,因此第一客戶端需要根據(jù)服務器更新后的移動標識顯示目標客戶端的角色移動,從而目標客戶端的角色移動在第一客戶端上的顯示由服務器對目標客戶端的移動標識更新來決定,只有得到服務器更新移動標識后第一客戶端才會顯示目標客戶端的角色移動,從而可以減少客戶端側角色移動時造成的抖動,提高游戲體驗。
【附圖說明】
[0025]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域的技術人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
[0026]圖1為本發(fā)明實施例提供的一種游戲中角色的移動控制方法的流程方框示意圖;
[0027]圖2為本發(fā)明實施例提供的另一種游戲中角色的移動控制方法的流程方框示意圖;
[0028]圖3_a為本發(fā)明實施例提供的客戶端之間的序列號同步的一種應用場景示意圖;
[0029]圖3_b為本發(fā)明實施例提供的客戶端之間的序列號同步的另一種應用場景示意圖;
[0030]圖4為本發(fā)明實施例提供的序列號未同步的玩家表現(xiàn)示意圖;
[0031]圖5為本發(fā)明實施例提供的序列號同步后的玩家表現(xiàn)示意圖;
[0032]圖6-a為本發(fā)明實施例提供的一種服務器的組成結構示意圖;
[0033]圖6-b為本發(fā)明實施例提供的另一種服務器的組成結構示意圖;
[0034]圖6-c為本發(fā)明實施例提供的一種移動標識處理模塊的組成結構示意圖;
[0035]圖6-d為本發(fā)明實施例提供的另一種服務器的組成結構示意圖;
[0036]圖7為本發(fā)明實施例提供的一種客戶端的組成結構示意圖;
[0037]圖8為本發(fā)明實施例提供的游戲中角色的移動控制方法應用于服務器的組成結構示意圖;
[0038]圖9為本發(fā)明實施例提供的游戲中角色的移動控制方法應用于終端的組成結構示意圖。
【具體實施方式】
[0039]本發(fā)明實施例提供了一種游戲中角色的移動控制方法和服務器以及客戶端,用于減少客戶端側角色移動時造成的抖動,提高游戲體驗。
[0040]為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部實施例。基于本發(fā)明中的實施例,本領域的技術人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0041]本發(fā)明的說明書和權利要求書及上述附圖中的術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統(tǒng)、產品或設備不必限于那些單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它單元。
[0042]以下分別進行詳細說明。
[0043]本發(fā)明游戲中角色的移動控制方法的一個實施例,具體可以應用于玩家操作客戶端中角色移動的控制場景中,請參閱圖1所示,本發(fā)明一個實施例提供的游戲中角色的移動控制方法,可以包括如下步驟:
[0044]101、服務器接收第一客戶端發(fā)送的移動請求數(shù)據(jù)包,服務器用于管理處于相同游戲場景下的第一客戶端以及第二客戶端中角色的移動。
[0045]在本發(fā)明實施例中,服務器和第一客戶端、第二客戶端之間分別建立有通信連接,該服務器用于管理各個客戶端中角色的移動,本發(fā)明實施例中以服務器管理處于相同游戲場景下的兩類客戶端(即第一客戶端和第二客戶端)為例進行示意說明,不限的是,本發(fā)明實施例中服務器還可以管理更多的客戶端,例如服務器和處于相同游戲場景下的第一客戶端、第二客戶端、第三客戶端保持有通信連接,這些客戶端和服務器之間的角色移動控制方式與本發(fā)明實施例中兩類客戶端與服務器的交互過程相類似,可以參照本發(fā)明后續(xù)實施例中的多個應用場景的說明。
[0046]本發(fā)明實施例中以第一客戶端作為移動請求的發(fā)送端為例進行詳細說明,不限定的是,本發(fā)明實施例中第二客戶端同樣可以作為移動請求的發(fā)送端。首先第一客戶端確定需要控制移動的角色之后,第一客戶端生成移動請求數(shù)據(jù)包,第一客戶端通過第一客戶端與服務器之間的通信連接發(fā)送移動請求數(shù)據(jù)包,服務器可以從第一客戶端接收到移動請求數(shù)據(jù)包。
[0047]102、服務器根據(jù)移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是第一客戶端或者第二客戶端。
[0048]在本發(fā)明實施例中,服務器接收到移動請求數(shù)據(jù)包之后,服務器根據(jù)移動請求數(shù)據(jù)包攜帶的請求內容確定第一客戶端需要控制移動的是處于相同游戲場景下的哪個客戶端,其中將第一客戶端在同一個游戲場景中需要控制移動的客戶端稱為目標客戶端,若服務器管理第一客戶端以及第二客戶端的角色移動,那么目標客戶端可以指的是第一客戶端或者第二客戶端。服務器根據(jù)接收到的移動請求數(shù)據(jù)包可以確定哪個客戶端是目標客戶端。
[0049]舉例說明如下,在本發(fā)明的一些實施例中,步驟102服務器根據(jù)移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是第一客戶端或者第二客戶端,具體可以包括如下步驟:
[0050]Al、若移動請求數(shù)據(jù)包中攜帶有第一客戶端控制自身當前移動時第一客戶端的當前移動標識,服務器確定目標客戶端為第一客戶端;或,
[0051]A2、若移動請求數(shù)據(jù)包中攜帶有第一客戶端控制第二客戶端移動的控制請求,月艮務器確定目標客戶端為第二客戶端。
[0052]其中,在本發(fā)明的上述實施例的步驟Al中,若第一客戶端需要控制自身角色的移動行為,例如第一客戶端通過移動羅盤使自身角色向前移動,則第一客戶端可以在移動請求數(shù)據(jù)包中攜帶該第一客戶端的當前移動標識,因此服務器通過移動請求數(shù)據(jù)包攜帶的該第一客戶端的當前移動標識可以確定第一客戶端本次控制的目標是自身,即在這種情況下服務器確定目標客戶端為第一客戶端。在步驟A2所示的場景下,與步驟Al不同的是,第一客戶端還除了可以控制自身移動,第一客戶端可以控制處于相同游戲場景下的其它客戶端的角色移動,例如第一客戶端需要釋放一個攻擊技能,則該攻擊技能的作用對象是第二客戶端,在這種情況下,第一客戶端的當前控制行為就是控制第二客戶端,第一客戶端發(fā)送的移動請求數(shù)據(jù)包中可以攜帶對第二客戶端的控制請求,即在這種情況下服務器根據(jù)移動請求數(shù)據(jù)包攜帶的控制請求可以確定第一客戶端本次控制的目標是第二客戶端。通過前述的舉例說明,第一客戶端可以控制自身的角色移動,也可以控制其他客戶端的角色移動,在不同的實現(xiàn)場景下,服務器可以通過解析移動請求數(shù)據(jù)包來確定哪個客戶端是目標客戶端。
[0053]在本發(fā)明的一些實施例中,步驟102服務器根據(jù)移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是第一客戶端或者第二客戶端之后,本發(fā)明實施例提供的游戲中角色的移動控制方法除了執(zhí)行后續(xù)步驟103之外,該游戲中角色的移動控制方法還可以執(zhí)行如下步驟:
[0054]B1、當目標客戶端是第一客戶端時,服務器根據(jù)第一客戶端的當前移動標識判斷第一客戶端的當前移動是否滿足服務器中配置的容忍偏差條件;
[0055]B2、若第一客戶端的當前移動不滿足容忍偏差條件,服務器對第一客戶端的當前移動標識進行更新,并向第一客戶端發(fā)送移動拒絕指令,移動拒絕指令攜帶第一客戶端的更新后的移動標識。
[0056]其中,在本發(fā)明的上述實施例的步驟BI中對目標客戶端是第一客戶端時的應用場景進行說明,服務器中配置有容忍偏差條件,該容忍偏差條件是指服務器能夠容忍的客戶端產生偏差的條件,容忍偏差條件由服務器根據(jù)具體的應用場景進行設定,通過容忍偏差條件能夠對第一客戶端的當前移動行為進行判斷,判斷出該第一客戶端的當前移動行為是否超過了服務器的容忍極限。舉例說明如下,第一客戶端發(fā)送的移動請求數(shù)據(jù)包中攜帶的第一客戶端的當前移動標識可以是第一客戶端為角色移動而設置的當前序列號,服務器中配置的容忍偏差條件可以是服務器中預置的容忍序列號閾值,通過判斷第一客戶端的當前序列號是否超過該容忍序列號閾值就可以確定該第一客戶端的當前移動是否滿足容忍偏差條件。又如,第一客戶端的當前移動標識也可以是第一客戶端為角色移動而設置的當前移動令牌,服務器中配置的容忍偏差條件可以是服務器中預置的容忍令牌號碼,通過判斷第一客戶端的當前移動令牌是否和該容忍令牌號碼相同就可以確定該第一客戶端的當前移動是否滿足容忍偏差條件。在第一客戶端的當前移動不滿足容忍偏差條件的情況下,月艮務器可以對第一客戶端的當前移動標識進行更新,并向第一客戶端發(fā)送移動拒絕指令,移動拒絕指令攜帶第一客戶端的更新后的移動標識。服務器判斷第一客戶端的當前移動不滿足容忍偏差條件,即第一客戶端的當前移動不被服務器所接受,服務器可以發(fā)送移動拒絕指令,從而拒絕第一客戶端的當前移動,在第二客戶端等其他客戶端中不會顯示該第一客戶端的當前移動,從而避免第一客戶端的當前移動對第二客戶端造成的移動沖突。
[0057]103、服務器更新目標客戶端的移動標識,然后服務器將目標客戶端的更新后的移動標識廣播給第一客戶端以及第二客戶端。
[0058]在本發(fā)明實施例中,服務器確定哪個客戶端是目標客戶端之后,服務器對該目標客戶端的移動標識進行更新。本發(fā)明實施例中,服務器側為每個客戶端控制的角色設置移動標識,服務器可以在本地管理一個本地同步列表,服務器通過本地同步列表來管理各個客戶端的角色移動,服務器是客戶端的角色移動的控制方,服務器通過對客戶端的移動標識的更新來指示客戶端的角色移動的生效。本發(fā)明實施例中服務器對需要控制移動的目標客戶端進行移動標識的更新,從而表示服務器同意該目標客戶端的角色移動,然后服務器更新目標客戶端的移動標識,得到目標客戶端更新后的移動標識,接下來服務器采用廣播的方式向處于相同游戲場景下的多個客戶端(此例中為第一客戶端和第二客戶端)發(fā)送目標客戶端更新后的移動標識,則接收到該廣播消息的客戶端通過接收到的目標客戶端更新后的移動標識進行顯示目標客戶端的角色移動。本發(fā)明實施例中將客戶端的角色移動的控制權設置在服務器上,該服務器可以管理各個客戶端中的角色的移動,改變了現(xiàn)有技術中服務器只是作為數(shù)據(jù)包的網絡轉發(fā)設備這一功能,使得客戶端的角色移動由服務器是否更新移動標識來決定,使得各個客戶端顯示目標客戶端的角色移動受到有序的制約,從而改變現(xiàn)有技術中多個客戶端的多重輸入產生多重輸出,并且各個輸出相互影響而產生的抖動,避免多個游戲客戶端的游戲體驗出現(xiàn)人物角色拉扯、瞬移的情況,從而可以有效的改善在客戶端上顯示的角色移動拉扯、瞬移,提高用戶的游戲體驗。
[0059]在本發(fā)明的一些實施例中,步驟103中的服務器更新目標客戶端的移動標識,具體可以包括如下步驟:
[0060]Cl、服務器從移動請求數(shù)據(jù)包中獲取到第一客戶端的當前移動標識;
[0061]C2、服務器對第一客戶端的當前移動標識進行更新,并將第一客戶端的更新后的移動標識保存下來。
[0062]其中,在目標客戶端是第一客戶端的情況下,服務器可以從移動請求數(shù)據(jù)包中獲取到第一客戶端的當前移動標識,服務器可以對該第一客戶端的當前移動標識進行更新,以表示服務器同意該第一客戶端的角色移動,服務器在本地同步列表保存第一客戶端的更新后的移動標識,該第一客戶端的更新后的移動標識可以作為第一客戶端下次移動時是否被服務器接受的判斷依據(jù)。
[0063]在本發(fā)明的一些實施例中,上述實施例中描述了目標客戶端是第一客戶端時的移動標識更新方式,接下來介紹目標客戶端是第二客戶端時的移動標識更新方式,具體的,步驟103中的服務器更新目標客戶端的移動標識,具體可以包括如下步驟:
[0064]D1、當目標客戶端是第二客戶端時,服務器從服務器的本地同步列表中獲取到第二客戶端的已記錄的移動標識;
[0065]D2、服務器根據(jù)服務器中配置的容忍偏差條件對第二客戶端的已記錄的移動標識進行更新,并將第二客戶端的更新后的移動標識保存下來。
[0066]其中,在本發(fā)明的上述實施例的步驟DI中對目標客戶端是第二客戶端時的應用場景進行說明,服務器中保存有本地同步列表,針對不同的客戶端,在本地同步列表中保存有各個客戶端的已記錄的移動標識,在第一客戶端控制第二客戶端的角色移動的場景下,月艮務器可以先獲取到第二客戶端的已記錄的移動標識。服務器中還設置有容忍偏差條件,該容忍偏差條件是指服務器能夠容忍的客戶端產生偏差的條件,容忍偏差條件由服務器根據(jù)具體的應用場景進行設定,通過容忍偏差條件能夠對第二客戶端被第一客戶端控制時的移動行為進行判斷,判斷出該第二客戶端的當前移動行為是否超過了服務器的容忍極限,從而服務器可以確定該如何對第二客戶端的已記錄的移動標識進行更新。舉例說明如下,月艮務器獲取到的第二客戶端的已記錄的移動標識可以是第二客戶端為角色移動而設置的當前序列號,服務器中配置的容忍偏差條件可以是服務器中預置的容忍序列號閾值,通過判斷第二客戶端的當前序列號是否超過該容忍序列號閾值就可以確定該第二客戶端的當前移動是否滿足容忍偏差條件。又如,第二客戶端的已記錄的移動標識也可以是第二客戶端為角色移動而設置的當前移動令牌,服務器中配置的容忍偏差條件可以是服務器中預置的容忍令牌號碼,通過判斷第二客戶端的當前移動令牌是否和該容忍令牌號碼相同就可以確定該第二客戶端的當前移動是否滿足容忍偏差條件。
[0067]進一步的,在本發(fā)明執(zhí)行步驟Dl和D2的其它實施例中,該游戲中角色的移動控制方法還可以執(zhí)行如下步驟:
[0068]El、服務器將目標客戶端的更新后的移動標識廣播給第一客戶端以及第二客戶端之后,服務器接收第二客戶端發(fā)送的移動請求數(shù)據(jù)包,第二客戶端發(fā)送的移動請求數(shù)據(jù)包攜帶有第二客戶端控制自身當前移動時第二客戶端的當前移動標識;
[0069]E2、服務器根據(jù)第二客戶端的當前移動標識判斷第二客戶端的當前移動是否滿足服務器中配置的容忍偏差條件;
[0070]E3、若第二客戶端的當前移動不滿足容忍偏差條件,服務器將第二客戶端發(fā)送的移動請求數(shù)據(jù)包過濾掉,并向第二客戶端發(fā)送移動拒絕指令。
[0071]其中,服務器將第二客戶端的更新后的移動標識廣播給第一客戶端和第二客戶端,若第二客戶端在接收到第二客戶端的更新后的移動標識之前,第二客戶端還向服務器發(fā)送了移動請求數(shù)據(jù)包,則服務器可以從移動請求數(shù)據(jù)包中獲取到第二客戶端的當前移動標識,然后判斷第二客戶端的當前移動是否滿足服務器中配置的容忍偏差條件,具體判斷方式可以參閱前述實施例步驟BI至B2中的詳細說明,判斷出第二客戶端的當前移動不滿足容忍偏差條件時,說明服務器不會接受第二客戶端的角色移動,服務器會過濾掉第二客戶端發(fā)送的移動請求數(shù)據(jù)包,并向第二客戶端發(fā)送移動拒絕指令,從而第二客戶端的當前移動不會在第一客戶端等第三方客戶端中顯示出來,從而避免第二客戶端的當前移動對第一客戶端造成的移動沖突。
[0072]通過以上實施例對本發(fā)明的描述可知,第一客戶端向服務器發(fā)送移動請求數(shù)據(jù)包,服務器根據(jù)接收到的移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是第一客戶端或者第二客戶端,然后服務器更新該目標客戶端的移動標識,然后服務器將目標客戶端的更新后的移動標識廣播給第一客戶端以及第二客戶端。由于服務器在確定出目標客戶端之后,服務器可以對該目標客戶端的移動標識進行更新并廣播,第一客戶端和第二客戶端都可以通過服務器的廣播獲取到目標客戶端的移動標識,因此第一客戶端需要根據(jù)服務器更新后的移動標識顯示目標客戶端的角色移動,從而目標客戶端的角色移動在第一客戶端上的顯示由服務器對目標客戶端的移動標識更新來決定,只有得到服務器更新移動標識后第一客戶端才會顯示目標客戶端的角色移動,從而可以減少客戶端側角色移動時造成的抖動,提尚游戲體驗。
[0073]上述實施例從服務器側對本發(fā)明提供的游戲中角色的移動控制方法進行了詳細說明,接下來從一個客戶端(例如第一客戶端)側對本發(fā)明提供的游戲中角色的移動控制方法進行描述,請參閱如圖2所示,本發(fā)明一個實施例提供的游戲中角色的移動控制方法,可以包括如下步驟:
[0074]201、第一客戶端向服務器發(fā)送移動請求數(shù)據(jù)包,由服務器根據(jù)移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是第一客戶端或者第二客戶端。
[0075]在本發(fā)明實施例中,以服務器管理處于相同游戲場景下的兩類客戶端(即第一客戶端和第二客戶端)為例進行示意說明,接下來從第一客戶端側進行詳細說明,不限的是,本發(fā)明實施例中服務器還可以管理更多的客戶端,例如服務器和處于相同游戲場景下的第一客戶端、第二客戶端、第三客戶端保持有通信連接,第二客戶端、第三客戶端和服務器之間的角色移動控制方式與本發(fā)明實施例中第一客戶端與服務器的交互過程相類似,可以參照本發(fā)明后續(xù)實施例中的多個應用場景的說明。
[0076]首先第一客戶端確定需要控制移動的角色之后,第一客戶端生成移動請求數(shù)據(jù)包,第一客戶端通過第一客戶端與服務器之間的通信連接發(fā)送移動請求數(shù)據(jù)包。具體的,步驟201第一客戶端向服務器發(fā)送移動請求數(shù)據(jù)包,可以包括如下步驟:
[0077]Fl、第一客戶端確定控制第一客戶端自身的當前移動,第一客戶端向服務器發(fā)送攜帶第一客戶端的當前移動標識的移動請求數(shù)據(jù)包;或,
[0078]F2、第一客戶端確定控制處于相同游戲場景中的第二客戶端的移動,客戶端向服務器發(fā)送攜帶控制請求的移動請求數(shù)據(jù)包。
[0079]其中,在本發(fā)明的上述實施例的步驟Fl中,若第一客戶端需要控制自身角色的移動行為,例如第一客戶端通過移動羅盤使自身角色向前移動,則第一客戶端可以在移動請求數(shù)據(jù)包中攜帶該第一客戶端的當前移動標識。在步驟F2所示的場景下,與步驟Fl不同的是,第一客戶端還除了可以控制自身移動,第一客戶端可以控制處于相同游戲場景下的其它客戶端的角色移動,例如第一客戶端需要釋放一個攻擊技能,則該攻擊技能的作用對象是第二客戶端,在這種情況下,第一客戶端的當前控制行為就是控制第二客戶端,第一客戶端發(fā)送的移動請求數(shù)據(jù)包中可以攜帶對第二客戶端的控制請求。
[0080]在本發(fā)明的一些實施例中,步驟Fl第一客戶端向服務器發(fā)送攜帶第一客戶端的當前移動標識的移動請求數(shù)據(jù)包,具體為:
[0081]F11、第一客戶端在接收到服務器發(fā)送的目標客戶端的更新后的移動標識之前,第一客戶端多次重復發(fā)送攜帶第一客戶端的當前移動標識的移動請求數(shù)據(jù)包。
[0082]其中,服務器對于第一客戶端發(fā)送的移動請求數(shù)據(jù)包可以作出響應,服務器可以向第一客戶端廣播目標客戶端的更新后的移動標識,出于網絡延遲的考慮,第一客戶端可以多次重復發(fā)送攜帶第一客戶端的當前移動標識的移動請求數(shù)據(jù)包,在每次發(fā)送的移動請求數(shù)據(jù)包中都攜帶有相同的第一客戶端的當前移動標識,服務器針對第一客戶端的多次重復發(fā)送,服務器可以針對每次發(fā)送進行響應,每次回復給第一客戶端的移動通告數(shù)據(jù)包中攜帶有服務器更新后的第一客戶端的移動標識,從而使得和第一客戶端處于相同游戲場景下的第二客戶端可以及時獲取到第一客戶端的最新移動標識,第二客戶端根據(jù)服務器發(fā)送的第一客戶端的最新移動標識對第一客戶端的角色移動進行顯示。
[0083]202、第一客戶端接收服務器發(fā)送的目標客戶端的更新后的移動標識。
[0084]在本發(fā)明實施例中,當服務器生成目標客戶端的更新后的移動標識之后,服務器開始廣播該目標客戶端的更新后的移動標識,第一客戶端通過與服務器的通信連接接收到目標客戶端的更新后的移動標識。
[0085]203、第一客戶端根據(jù)接收到的目標客戶端的更新后的移動標識顯示目標客戶端的角色移動。
[0086]在本發(fā)明實施例中,對于目標客戶端的不同實現(xiàn)方式,第一客戶端可以根據(jù)服務器對目標客戶端的移動標識的更新情況來顯示目標客戶端的角色移動,若第一客戶端沒有接收到服務器廣播的目標客戶端的更新后的移動標識,則第一客戶端不響應目標客戶端的角色移動,使得客戶端的角色移動由服務器是否更新移動標識來決定,使得各個客戶端顯示目標客戶端的角色移動受到有序的制約,從而改變現(xiàn)有技術中多個客戶端的多重輸入產生多重輸出,并且各個輸出相互影響而產生的抖動,避免多個游戲客戶端的游戲體驗出現(xiàn)人物角色拉扯、瞬移的情況,從而可以有效的改善在客戶端上顯示的角色移動拉扯、瞬移,提高用戶的游戲體驗
[0087]通過以上實施例對本發(fā)明的描述可知,第一客戶端向服務器發(fā)送移動請求數(shù)據(jù)包,服務器根據(jù)接收到的移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是第一客戶端或者第二客戶端,然后服務器更新該目標客戶端的移動標識,然后服務器將目標客戶端的更新后的移動標識廣播給第一客戶端以及第二客戶端。由于服務器在確定出目標客戶端之后,服務器可以對該目標客戶端的移動標識進行更新并廣播,第一客戶端和第二客戶端都可以通過服務器的廣播獲取到目標客戶端的移動標識,因此第一客戶端需要根據(jù)服務器更新后的移動標識顯示目標客戶端的角色移動,從而目標客戶端的角色移動在第一客戶端上的顯示由服務器對目標客戶端的移動標識更新來決定,只有得到服務器更新移動標識后第一客戶端才會顯示目標客戶端的角色移動,從而可以減少客戶端側角色移動時造成的抖動,提尚游戲體驗。
[0088]為便于更好的理解和實施本發(fā)明實施例的上述方案,下面舉例相應的應用場景來進行具體說明。本發(fā)明實施例旨在針對目前多人在線手機游戲中,本發(fā)明實施例通過移動標識的更新,降低由于第三方的控制導致的移動沖突,保證更好的游戲體驗,在手游中的MOBA游戲,對移動表現(xiàn),會有多重優(yōu)化的效果。接下來以移動標識的更新具體為序列號同步進行示意說明,通過序列號滑動窗口的實現(xiàn)方式完成角色移動的控制,請參閱如圖3-a所示,圖3_a為本發(fā)明實施例提供的客戶端之間的序列號同步的一種應用場景示意圖,以移動序列號同步進行說明,這里的異常只關注序列號,而對網絡延遲等情況進行忽略,旨在說明序列號同步的問題,主要包括如下步驟:
[0089]服務器和每個客戶端均保存序列號同步信息,并假設服務器中配置的容忍序列號閾值為N-1,如果客戶端與服務器的序列號之差小于N,則認為這個移動請求數(shù)據(jù)包,服務器就會響應該移動請求數(shù)據(jù)包。
[0090]若客戶端I需要移動,發(fā)送移動請求數(shù)據(jù)包給服務器,移動序列號初始化為0,該移動請求數(shù)據(jù)包中攜帶的當前序列號seq = 0,一個客戶端的每一個移動操作都有一個序列號,服務器收到此移動請求數(shù)據(jù)包后,服務器確定當前移動的是客戶端I,服務器將接收到移動請求數(shù)據(jù)包中攜帶阿德序列號與本地的序列號進行比較,發(fā)現(xiàn)服務器與客戶端相差的序列號在容忍序列號閾值范圍內,服務器更新客戶端I的當前序列號未seq=l,然后服務器廣播客戶端的移動包,以5v5的游戲為例,服務器需要向10個客戶端廣播移動通告數(shù)據(jù)包,該移動通告數(shù)據(jù)包攜帶的序列號seq=l,服務器廣播給客戶端I的移動通告數(shù)據(jù)包,客戶端I根據(jù)接收到的移動通告數(shù)據(jù)包獲知服務器確認本次請求。
[0091]在客戶端I沒有接收到服務器發(fā)送的移動通告數(shù)據(jù)包之前,客戶端I會多次發(fā)送移動請求數(shù)據(jù)包,攜帶的當前序列號seq = 0,服務器針對客戶端I的每次請求都返回移動通告數(shù)據(jù)包,其攜帶的序列號不斷增加,經過N個輪回,假設客戶端I還沒有收到對應的服務器的移動通告數(shù)據(jù)包,也沒有更新本地的序列號,客戶端會維護一個本地的序列號,這個序列號在服務器每次正確回復的時候得到更新。在客戶端I發(fā)第N個數(shù)據(jù)包的時候,依然上傳的序列號為0,此時,服務器發(fā)現(xiàn)此時服務器的序列號與客戶端的序列號相差了 N,大于可以容忍的序列號偏差,于是服務器將這個新的序列號(seq = N+l)通知客戶端I,此時服務器是單獨發(fā)送給客戶端I,客戶端I按照新的序列號發(fā)送移動請求數(shù)據(jù)包后,服務器又正常廣播移動通告數(shù)據(jù)包。
[0092]請參閱如圖3-b所示,圖3-b為本發(fā)明實施例提供的客戶端之間的序列號同步的另一種應用場景示意圖,以移動序列號同步進行說明,客戶端I控制客戶端2保持禁錮的應用場景為例,主要包括如下步驟:
[0093]圖3-b中,假設客戶端2的角色移動除了序列號和禁錮效果,并不會受到其他效果的影響,禁錮是指游戲中一個玩家禁止另一個玩家移動的技能。首先,客戶端I發(fā)起由于某種操作,需要禁錮住客戶端2,此時向服務器發(fā)送禁錮請求,服務器收到客戶端I的禁錮請求之后,服務器在本地檢查上下文環(huán)境,當客戶端I的身份校驗通過后,服務器從本地同步列表中獲取到客戶端2的已記錄的序列號N,服務器將客戶端的已記錄的序列號N提升到2N后,服務器向客戶端I和客戶端2廣播禁錮通告,攜帶更新后的序列號seq = 2N,客戶端I和客戶端2同步新的移動序列號。若客戶端2在收到新的序列號前,客戶端2還是會繼續(xù)發(fā)送老的序列號給服務器,此時服務器發(fā)現(xiàn)序列號偏差已經超過了序列號容忍閾值,此時將直接過濾掉客戶端2的移動請求數(shù)據(jù)包,從而保證該客戶端2的角色移動不會在其他的客戶端上生效,即在客戶端I上顯示客戶端2不移動的狀態(tài),例如,客戶端I向客戶端2釋放技能為控制客戶端2的玩家角色不移動,則服務器對客戶端2的移動請求進行了過濾,從而可以保證客戶端2的玩家角色移動不了,因為服務器不再響應客戶端2的移動請求。請參閱如圖4和圖5所示,圖4為本發(fā)明實施例提供的序列號未同步的玩家表現(xiàn)示意圖,圖5為本發(fā)明實施例提供的序列號同步后的玩家表現(xiàn)示意圖。如圖4所示,在沒有使用序列號同步情況下的玩家,在釋放技能的冰女戳起來的時候,由于沒有序列號的同步,其它角色還保持向前一段距離,也就是說在冰女一側的客戶端表現(xiàn)不夠真實。如圖5所示,按照本發(fā)明實施例提供的序列號同步之后,各個角色的表現(xiàn)就比較正常,被冰女戳起來之后其它角色停留的畫面明顯更為真實,就是因為其它角色的移動請求數(shù)據(jù)包沒有被服務器廣播出去,在冰女一側的客戶端的表現(xiàn)就是被禁錮了。本發(fā)明提供的上述方案很好的解決了網絡卡、第三方看到的移動延遲、第三方移動拉扯和漂移的情況,保證了在正常網絡延遲的情況下,很好的保證了各個客戶端玩家的游戲體驗。
[0094]需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0095]為便于更好的實施本發(fā)明實施例的上述方案,下面還提供用于實施上述方案的相關裝置。
[0096]請參閱圖6-a所示,本發(fā)明實施例提供的一種服務器600,可以包括:接收模塊601、目標客戶端判斷模塊602、移動標識處理模塊603,其中,
[0097]接收模塊601,用于接收第一客戶端發(fā)送的移動請求數(shù)據(jù)包,所述服務器用于管理處于相同游戲場景下的所述第一客戶端以及第二客戶端中角色的移動;
[0098]目標客戶端判斷模塊602,用于根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者所述第二客戶端;
[0099]移動標識處理模塊603,用于更新所述目標客戶端的移動標識,然后所述服務器將所述目標客戶端的更新后的移動標識廣播給所述第一客戶端以及所述第二客戶端。
[0100]在本發(fā)明的一些實施例中,所述目標客戶端判斷模塊602,具體用于若所述移動請求數(shù)據(jù)包中攜帶有所述第一客戶端控制自身當前移動時所述第一客戶端的當前移動標識,確定所述目標客戶端為所述第一客戶端;或,若所述移動請求數(shù)據(jù)包中攜帶有所述第一客戶端控制所述第二客戶端移動的控制請求,確定所述目標客戶端為所述第二客戶端。
[0101]在本發(fā)明的一些實施例中,請參閱如圖6-b所示,所述服務器600還包括:第一移動判斷模塊604,其中,
[0102]所述第一移動判斷模塊604,用于所述目標客戶端判斷模塊602根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者所述第二客戶端之后,當所述目標客戶端是所述第一客戶端時,根據(jù)所述第一客戶端的當前移動標識判斷所述第一客戶端的當前移動是否滿足所述服務器中配置的容忍偏差條件;
[0103]所述移動標識處理模塊603,還用于若所述第一客戶端的當前移動不滿足所述容忍偏差條件,對所述第一客戶端的當前移動標識進行更新,并向所述第一客戶端發(fā)送移動拒絕指令,所述移動拒絕指令攜帶所述第一客戶端的更新后的移動標識。
[0104]在本發(fā)明的一些實施例中,請參閱如圖6-c所示,所述移動標識處理模塊603,包括:
[0105]移動標識讀取模塊6031,用于當所述目標客戶端是所述第二客戶端時,從所述服務器的本地同步列表中獲取到所述第二客戶端的已記錄的移動標識;
[0106]移動標識更新模塊6032,用于根據(jù)所述服務器中配置的容忍偏差條件對所述第二客戶端的已記錄的移動標識進行更新,并將所述第二客戶端的更新后的移動標識保存下來。
[0107]在本發(fā)明的一些實施例中,請參閱如圖6-d所示,相對于如圖6-a所示,所述服務器600,還包括:第二移動判斷模塊605和數(shù)據(jù)包過濾模塊606,其中,
[0108]所述接收模塊601,還用于所述移動標識處理模塊603將所述目標客戶端的更新后的移動標識廣播給所述第一客戶端以及所述第二客戶端之后,接收所述第二客戶端發(fā)送的移動請求數(shù)據(jù)包,所述第二客戶端發(fā)送的移動請求數(shù)據(jù)包攜帶有所述第二客戶端控制自身當前移動時所述第二客戶端的當前移動標識;
[0109]所述第二移動判斷模塊605,用于根據(jù)所述第二客戶端的當前移動標識判斷所述第二客戶端的當前移動是否滿足所述服務器中配置的容忍偏差條件;
[0110]所述數(shù)據(jù)包過濾模塊606,用于若所述第二客戶端的當前移動不滿足所述容忍偏差條件,將所述第二客戶端發(fā)送的移動請求數(shù)據(jù)包過濾掉,并向所述第二客戶端發(fā)送移動拒絕指令。
[0111]通過以上實施例對本發(fā)明的描述可知,第一客戶端向服務器發(fā)送移動請求數(shù)據(jù)包,服務器根據(jù)接收到的移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是第一客戶端或者第二客戶端,然后服務器更新該目標客戶端的移動標識,然后服務器將目標客戶端的更新后的移動標識廣播給第一客戶端以及第二客戶端。由于服務器在確定出目標客戶端之后,服務器可以對該目標客戶端的移動標識進行更新并廣播,第一客戶端和第二客戶端都可以通過服務器的廣播獲取到目標客戶端的移動標識,因此第一客戶端需要根據(jù)服務器更新后的移動標識顯示目標客戶端的角色移動,從而目標客戶端的角色移動在第一客戶端上的顯示由服務器對目標客戶端的移動標識更新來決定,只有得到服務器更新移動標識后第一客戶端才會顯示目標客戶端的角色移動,從而可以減少客戶端側角色移動時造成的抖動,提尚游戲體驗。
[0112]請參閱圖7所示,本發(fā)明實施例提供的一種客戶端700,所述客戶端700具體為第一客戶端,該第一客戶端和第二客戶端處于相同的游戲場景中,所述第一客戶端,包括:發(fā)送模塊701、接收模塊702、顯示模塊703,其中,
[0113]發(fā)送模塊701,用于向服務器發(fā)送移動請求數(shù)據(jù)包,由所述服務器根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者第二客戶端;
[0114]接收模塊702,用于所述第一客戶端接收所述服務器發(fā)送的所述目標客戶端的更新后的移動標識;
[0115]顯示模塊703,用于根據(jù)接收到的所述目標客戶端的更新后的移動標識顯示所述目標客戶端的角色移動。
[0116]在本發(fā)明的一些實施例中,所述發(fā)送模塊701,具體用于所述第一客戶端確定控制所述第一客戶端自身的當前移動,向所述服務器發(fā)送攜帶所述第一客戶端的當前移動標識的移動請求數(shù)據(jù)包;或,確定控制處于相同游戲場景中的第二客戶端的移動,向所述服務器發(fā)送攜帶所述控制請求的移動請求數(shù)據(jù)包。
[0117]在本發(fā)明的一些實施例中,所述發(fā)送模塊701,具體用于在接收到所述服務器發(fā)送的所述目標客戶端的更新后的移動標識之前,多次重復發(fā)送攜帶所述第一客戶端的當前移動標識的移動請求數(shù)據(jù)包。
[0118]通過以上實施例對本發(fā)明的描述可知,第一客戶端向服務器發(fā)送移動請求數(shù)據(jù)包,服務器根據(jù)接收到的移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是第一客戶端或者第二客戶端,然后服務器更新該目標客戶端的移動標識,然后服務器將目標客戶端的更新后的移動標識廣播給第一客戶端以及第二客戶端。由于服務器在確定出目標客戶端之后,服務器可以對該目標客戶端的移動標識進行更新并廣播,第一客戶端和第二客戶端都可以通過服務器的廣播獲取到目標客戶端的移動標識,因此第一客戶端需要根據(jù)服務器更新后的移動標識顯示目標客戶端的角色移動,從而目標客戶端的角色移動在第一客戶端上的顯示由服務器對目標客戶端的移動標識更新來決定,只有得到服務器更新移動標識后第一客戶端才會顯示目標客戶端的角色移動,從而可以減少客戶端側角色移動時造成的抖動,提尚游戲體驗。
[0119]圖8是本發(fā)明實施例提供的一種服務器結構示意圖,該服務器800可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上中央處理器(central processingunits,CPU)822(例如,一個或一個以上處理器)和存儲器832,一個或一個以上存儲應用程序842或數(shù)據(jù)844的存儲介質830(例如一個或一個以上海量存儲設備)。其中,存儲器832和存儲介質830可以是短暫存儲或持久存儲。存儲在存儲介質830的程序可以包括一個或一個以上模塊(圖示沒標出),每個模塊可以包括對服務器中的一系列指令操作。更進一步地,中央處理器822可以設置為與存儲介質830通信,在服務器800上執(zhí)行存儲介質830中的一系列指令操作。
[0120]服務器800還可以包括一個或一個以上電源826,一個或一個以上有線或無線網絡接口 850,一個或一個以上輸入輸出接口 858,和/或,一個或一個以上操作系統(tǒng)841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM等等。
[0121]上述實施例中由服務器所執(zhí)行的游戲中角色的移動控制方法的步驟可以基于該圖8所示的服務器結構。
[0122]本發(fā)明實施例還提供了一種終端,如圖9所示,為了便于說明,僅示出了與本發(fā)明實施例相關的部分,具體技術細節(jié)未揭示的,請參照本發(fā)明實施例方法部分。該終端可以為包括手機、平板電腦、PDA(Personal Digital Assistant,個人數(shù)字助理)、P0S(Point ofSales,銷售終端)、車載電腦等任意終端設備,以終端為手機為例:
[0123]圖9示出的是與本發(fā)明實施例提供的終端相關的手機的部分結構的框圖。參考圖9,手機包括:射頻(Rad1 Frequency,RF)電路99、存儲器920、輸入單元930、顯示單元940、傳感器950、音頻電路960、無線保真(,WiFi)模塊970、處理器980、以及電源990等部件。本領域技術人員可以理解,圖9中示出的手機結構并不構成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
[0124]下面結合圖9對手機的各個構成部件進行具體的介紹:
[0125]RF電路99可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器980處理;另外,將設計上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路99包括但不限于天線、至少一個放大器、收發(fā)信機、耦合器、低噪聲放大器(Low NoiseAmplifier,LNA)、雙工器等。此外,RF電路99還可以通過無線通信與網絡和其他設備通信。上述無線通信可以使用任一通信標準或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(GlobalSystem of Mobile communicat1n,GSM)、通用分組無線服務(General Packet Rad1Service,GPRS)、碼分多址(Code Divis1n Multiple Access,CDMA)、寬帶碼分多址(Wideband Code Divis1n Multiple Access ,WCDMA)、長期演進(Long Term Evolut1n,LTE)、電子郵件、短消息服務(Short Messaging Service,SMS)等。
[0126]存儲器920可用于存儲軟件程序以及模塊,處理器980通過運行存儲在存儲器920的軟件程序以及模塊,從而執(zhí)行手機的各種功能應用以及數(shù)據(jù)處理。存儲器920可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器920可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
[0127]輸入單元930可用于接收輸入的數(shù)字或字符信息,以及產生與手機的用戶設置以及功能控制有關的鍵信號輸入。具體地,輸入單元930可包括觸控面板931以及其他輸入設備932。觸控面板931,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板931上或在觸控面板931附近的操作),并根據(jù)預先設定的程式驅動相應的連接裝置。可選的,觸控面板931可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器980,并能接收處理器980發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸控面板931。除了觸控面板931,輸入單元930還可以包括其他輸入設備932。具體地,其他輸入設備932可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
[0128]顯示單元940可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機的各種菜單。顯示單元940可包括顯示面板941,可選的,可以采用液晶顯示器(Liquid CrystalDisplay,IXD)、有機發(fā)光二極管(Organic Light-Emitting D1de,0LED)等形式來配置顯示面板941。進一步的,觸控面板931可覆蓋顯示面板941,當觸控面板931檢測到在其上或附近的觸摸操作后,傳送給處理器980以確定觸摸事件的類型,隨后處理器980根據(jù)觸摸事件的類型在顯示面板941上提供相應的視覺輸出。雖然在圖9中,觸控面板931與顯示面板941是作為兩個獨立的部件來實現(xiàn)手機的輸入和輸入功能,但是在某些實施例中,可以將觸控面板931與顯示面板941集成而實現(xiàn)手機的輸入和輸出功能。
[0129]手機還可包括至少一種傳感器950,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調節(jié)顯示面板941的亮度,接近傳感器可在手機移動到耳邊時,關閉顯示面板941和/或背光。作為運動傳感器的一種,加速計傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應用(比如橫豎屏切換、相關游戲、磁力計姿態(tài)校準)、振動識別相關功能(比如計步器、敲擊)等;至于手機還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
[0130]音頻電路960、揚聲器961,傳聲器962可提供用戶與手機之間的音頻接口。音頻電路960可將接收到的音頻數(shù)據(jù)轉換后的電信號,傳輸?shù)綋P聲器961,由揚聲器961轉換為聲音信號輸出;另一方面,傳聲器962將收集的聲音信號轉換為電信號,由音頻電路960接收后轉換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器980處理后,經RF電路99以發(fā)送給比如另一手機,或者將音頻數(shù)據(jù)輸出至存儲器920以便進一步處理。
[0131]WiFi屬于短距離無線傳輸技術,手機通過WiFi模塊970可以幫助用戶收發(fā)電子郵件、瀏覽網頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網訪問。雖然圖9示出了WiFi模塊970,但是可以理解的是,其并不屬于手機的必須構成,完全可以根據(jù)需要在不改變發(fā)明的本質的范圍內而省略。
[0132]處理器980是手機的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執(zhí)行存儲在存儲器920內的軟件程序和/或模塊,以及調用存儲在存儲器920內的數(shù)據(jù),執(zhí)行手機的各種功能和處理數(shù)據(jù),從而對手機進行整體監(jiān)控??蛇x的,處理器980可包括一個或多個處理單元;優(yōu)選的,處理器980可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統(tǒng)、用戶界面和應用程序等,調制解調處理器主要處理無線通信??梢岳斫獾氖牵鲜稣{制解調處理器也可以不集成到處理器980中。
[0133]手機還包括給各個部件供電的電源990(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器980邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。
[0134]盡管未示出,手機還可以包括攝像頭、藍牙模塊等,在此不再贅述。
[0135]在本發(fā)明實施例中,該終端所包括的處理器980還具有控制執(zhí)行以上由終端執(zhí)行的游戲中角色的移動控制方法流程。
[0136]另外需說明的是,以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。另外,本發(fā)明提供的裝置實施例附圖中,模塊之間的連接關系表示它們之間具有通信連接,具體可以實現(xiàn)為一條或多條通信總線或信號線。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0137]通過以上的實施方式的描述,所屬領域的技術人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當然也可以通過專用硬件包括專用集成電路、專用CPU、專用存儲器、專用元器件等來實現(xiàn)。一般情況下,凡由計算機程序完成的功能都可以很容易地用相應的硬件來實現(xiàn),而且,用來實現(xiàn)同一功能的具體硬件結構也可以是多種多樣的,例如模擬電路、數(shù)字電路或專用電路等。但是,對本發(fā)明而言更多情況下軟件程序實現(xiàn)是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在可讀取的存儲介質中,如計算機的軟盤,U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0138]綜上所述,以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照上述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對上述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。
【主權項】
1.一種游戲中角色的移動控制方法,其特征在于,包括: 服務器接收第一客戶端發(fā)送的移動請求數(shù)據(jù)包,所述服務器用于管理處于相同游戲場景下的所述第一客戶端以及第二客戶端中角色的移動; 所述服務器根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者所述第二客戶端; 所述服務器更新所述目標客戶端的移動標識,然后所述服務器將所述目標客戶端的更新后的移動標識廣播給所述第一客戶端以及所述第二客戶端。2.根據(jù)權利要求1所述的方法,其特征在于,所述服務器根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者所述第二客戶端,包括: 若所述移動請求數(shù)據(jù)包中攜帶有所述第一客戶端控制自身當前移動時所述第一客戶端的當前移動標識,所述服務器確定所述目標客戶端為所述第一客戶端;或, 若所述移動請求數(shù)據(jù)包中攜帶有所述第一客戶端控制所述第二客戶端移動的控制請求,所述服務器確定所述目標客戶端為所述第二客戶端。3.根據(jù)權利要求2所述的方法,其特征在于,所述服務器根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者所述第二客戶端之后,所述方法還包括: 當所述目標客戶端是所述第一客戶端時,所述服務器根據(jù)所述第一客戶端的當前移動標識判斷所述第一客戶端的當前移動是否滿足所述服務器中配置的容忍偏差條件; 若所述第一客戶端的當前移動不滿足所述容忍偏差條件,所述服務器對所述第一客戶端的當前移動標識進行更新,并向所述第一客戶端發(fā)送移動拒絕指令,所述移動拒絕指令攜帶所述第一客戶端的更新后的移動標識。4.根據(jù)權利要求2所述的方法,其特征在于,所述服務器更新所述目標客戶端的移動標識,包括: 當所述目標客戶端是所述第二客戶端時,所述服務器從所述服務器的本地同步列表中獲取到所述第二客戶端的已記錄的移動標識; 所述服務器根據(jù)所述服務器中配置的容忍偏差條件對所述第二客戶端的已記錄的移動標識進行更新,并將所述第二客戶端的更新后的移動標識保存下來。5.根據(jù)權利要求4所述的方法,其特征在于,所述方法還包括: 所述服務器將所述目標客戶端的更新后的移動標識廣播給所述第一客戶端以及所述第二客戶端之后,所述服務器接收所述第二客戶端發(fā)送的移動請求數(shù)據(jù)包,所述第二客戶端發(fā)送的移動請求數(shù)據(jù)包攜帶有所述第二客戶端控制自身當前移動時所述第二客戶端的當前移動標識; 所述服務器根據(jù)所述第二客戶端的當前移動標識判斷所述第二客戶端的當前移動是否滿足所述服務器中配置的容忍偏差條件; 若所述第二客戶端的當前移動不滿足所述容忍偏差條件,所述服務器將所述第二客戶端發(fā)送的移動請求數(shù)據(jù)包過濾掉,并向所述第二客戶端發(fā)送移動拒絕指令。6.一種游戲中角色的移動控制方法,其特征在于,包括: 第一客戶端向服務器發(fā)送移動請求數(shù)據(jù)包,由所述服務器根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者第二客戶端; 所述第一客戶端接收所述服務器發(fā)送的所述目標客戶端的更新后的移動標識; 所述第一客戶端根據(jù)接收到的所述目標客戶端的更新后的移動標識顯示所述目標客戶立而的角色移動。7.根據(jù)權利要求6所述的方法,其特征在于,所述第一客戶端向服務器發(fā)送移動請求數(shù)據(jù)包,包括: 所述第一客戶端確定控制所述第一客戶端自身的當前移動,所述第一客戶端向所述服務器發(fā)送攜帶所述第一客戶端的當前移動標識的移動請求數(shù)據(jù)包;或, 所述第一客戶端確定控制處于相同游戲場景中的第二客戶端的移動,所述客戶端向所述服務器發(fā)送攜帶所述控制請求的移動請求數(shù)據(jù)包。8.根據(jù)權利要求7所述的方法,其特征在于,所述第一客戶端向所述服務器發(fā)送攜帶所述第一客戶端的當前移動標識的移動請求數(shù)據(jù)包,具體為: 所述第一客戶端在接收到所述服務器發(fā)送的所述目標客戶端的更新后的移動標識之前,所述第一客戶端多次重復發(fā)送攜帶所述第一客戶端的當前移動標識的移動請求數(shù)據(jù)包。9.一種服務器,其特征在于,包括: 接收模塊,用于接收第一客戶端發(fā)送的移動請求數(shù)據(jù)包,所述服務器用于管理處于相同游戲場景下的所述第一客戶端以及第二客戶端中角色的移動; 目標客戶端判斷模塊,用于根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者所述第二客戶端; 移動標識處理模塊,用于更新所述目標客戶端的移動標識,然后所述服務器將所述目標客戶端的更新后的移動標識廣播給所述第一客戶端以及所述第二客戶端。10.根據(jù)權利要求9所述的服務器,其特征在于,所述目標客戶端判斷模塊,具體用于若所述移動請求數(shù)據(jù)包中攜帶有所述第一客戶端控制自身當前移動時所述第一客戶端的當前移動標識,確定所述目標客戶端為所述第一客戶端;或,若所述移動請求數(shù)據(jù)包中攜帶有所述第一客戶端控制所述第二客戶端移動的控制請求,確定所述目標客戶端為所述第二客戶端。11.根據(jù)權利要求10所述的服務器,其特征在于,所述服務器還包括:第一移動判斷模塊,其中, 所述第一移動判斷模塊,用于所述目標客戶端判斷模塊根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者所述第二客戶端之后,當所述目標客戶端是所述第一客戶端時,根據(jù)所述第一客戶端的當前移動標識判斷所述第一客戶端的當前移動是否滿足所述服務器中配置的容忍偏差條件; 所述移動標識處理模塊,還用于若所述第一客戶端的當前移動不滿足所述容忍偏差條件,對所述第一客戶端的當前移動標識進行更新,并向所述第一客戶端發(fā)送移動拒絕指令,所述移動拒絕指令攜帶所述第一客戶端的更新后的移動標識。12.根據(jù)權利要求10所述的服務器,其特征在于,所述移動標識處理模塊,包括: 移動標識讀取模塊,用于當所述目標客戶端是所述第二客戶端時,從所述服務器的本地同步列表中獲取到所述第二客戶端的已記錄的移動標識; 移動標識更新模塊,用于根據(jù)所述服務器中配置的容忍偏差條件對所述第二客戶端的已記錄的移動標識進行更新,并將所述第二客戶端的更新后的移動標識保存下來。13.根據(jù)權利要求12所述的服務器,其特征在于,所述服務器,還包括:第二移動判斷模塊和數(shù)據(jù)包過濾模塊,其中, 所述接收模塊,還用于所述移動標識處理模塊將所述目標客戶端的更新后的移動標識廣播給所述第一客戶端以及所述第二客戶端之后,接收所述第二客戶端發(fā)送的移動請求數(shù)據(jù)包,所述第二客戶端發(fā)送的移動請求數(shù)據(jù)包攜帶有所述第二客戶端控制自身當前移動時所述第二客戶端的當前移動標識; 所述第二移動判斷模塊,用于根據(jù)所述第二客戶端的當前移動標識判斷所述第二客戶端的當前移動是否滿足所述服務器中配置的容忍偏差條件; 所述數(shù)據(jù)包過濾模塊,用于若所述第二客戶端的當前移動不滿足所述容忍偏差條件,將所述第二客戶端發(fā)送的移動請求數(shù)據(jù)包過濾掉,并向所述第二客戶端發(fā)送移動拒絕指令。14.一種客戶端,其特征在于,所述客戶端具體為第一客戶端,該第一客戶端和第二客戶端處于相同的游戲場景中,所述第一客戶端,包括: 發(fā)送模塊,用于向服務器發(fā)送移動請求數(shù)據(jù)包,由所述服務器根據(jù)所述移動請求數(shù)據(jù)包確定需要控制移動的目標客戶端是所述第一客戶端或者第二客戶端; 接收模塊,用于所述第一客戶端接收所述服務器發(fā)送的所述目標客戶端的更新后的移動標識; 顯示模塊,用于根據(jù)接收到的所述目標客戶端的更新后的移動標識顯示所述目標客戶立而的角色移動。15.根據(jù)權利要求14所述的客戶端,其特征在于,所述發(fā)送模塊,具體用于所述第一客戶端確定控制所述第一客戶端自身的當前移動,向所述服務器發(fā)送攜帶所述第一客戶端的當前移動標識的移動請求數(shù)據(jù)包;或,確定控制處于相同游戲場景中的第二客戶端的移動,向所述服務器發(fā)送攜帶所述控制請求的移動請求數(shù)據(jù)包。16.根據(jù)權利要求15所述的客戶端,其特征在于,所述發(fā)送模塊,具體用于在接收到所述服務器發(fā)送的所述目標客戶端的更新后的移動標識之前,多次重復發(fā)送攜帶所述第一客戶端的當前移動標識的移動請求數(shù)據(jù)包。
【文檔編號】A63F13/56GK105879391SQ201610219234
【公開日】2016年8月24日
【申請日】2016年4月8日
【發(fā)明人】張振興, 仇斌
【申請人】騰訊科技(深圳)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1