一種游戲角色控制方法及一種虛擬控制部件的控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及游戲領(lǐng)域,尤其涉及一種游戲角色控制方法及一種虛擬控制部件的控制方法。
【背景技術(shù)】
[0002]在移動(dòng)終端平臺(tái)上的動(dòng)作角色扮演類游戲(ARPG)、第一人稱射擊類游戲(FPS)等游戲中,常常要涉及到玩家需要控制角色的方向和移動(dòng)等操作,現(xiàn)有的通常設(shè)定是在觸摸屏移動(dòng)終端上虛擬于屏幕設(shè)置一個(gè)按鍵虛擬搖桿,可直接操控進(jìn)行游戲;當(dāng)需要控制一個(gè)對(duì)象向某個(gè)方向移動(dòng)時(shí),點(diǎn)擊虛擬搖桿向該方向滑動(dòng)。單一的狀態(tài)讓虛擬搖桿的操作顯得生硬不自然,不能讓玩家很好的體驗(yàn)到操作實(shí)際搖桿的感受,并且在緊張的戰(zhàn)斗中,虛擬搖桿的限制性也增加了玩家的誤操作率,大大降低了游戲的流暢度。
【發(fā)明內(nèi)容】
[0003]為解決上述技術(shù)問題,本發(fā)明公開了一種游戲角色控制方法及一種虛擬控制部件的控制方法,使用戶在對(duì)游戲角色進(jìn)行控制時(shí)擺脫被束縛的感覺,操作更加靈活和流暢,大大提高了游戲的用戶體驗(yàn)效果。
[0004]為達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
[0005]本發(fā)明公開了一種游戲角色控制方法,包括以下步驟:
[0006]Al.初始坐標(biāo)獲取步驟:響應(yīng)于用戶的滑屏操作,獲取用戶初始指示位置Pl ;
[0007]A2.滑屏軌跡監(jiān)聽步驟:監(jiān)聽用戶的滑屏操作軌跡,獲取用戶當(dāng)前指示位置P2 ;
[0008]A3.計(jì)算步驟:計(jì)算所述用戶當(dāng)前指示位置P2與所述用戶初始指示位置pi之間的移動(dòng)距離長(zhǎng)度為u = |p2-pl| ;
[0009]A4.更新步驟:比較所述移動(dòng)距離長(zhǎng)度I u I與第一預(yù)設(shè)閾值S1,當(dāng)所述移動(dòng)距離長(zhǎng)度Iu大于所述第一預(yù)設(shè)閾值SJt,計(jì)算新位置pi ' =p2-(p2-pl)/Iu^Sdbk為預(yù)設(shè)的常數(shù)且k > 0,將所述用戶初始指示位置pi更新為所述新位置pi ';
[0010]A5.控制指令生成步驟:根據(jù)向量u = p2-pl生成控制游戲角色的操作指令。
[0011 ] 在部分實(shí)施例中,所述步驟A5中根據(jù)向量u生成控制游戲角色的操作指令包括以下步驟:
[0012]比較所述移動(dòng)距離長(zhǎng)度|u|與第二預(yù)設(shè)閾值S2,
[0013]若|u| < S2,生成控制游戲角色的第一操作指令:被控制游戲角色以第一速度V1移動(dòng),速度V1與向量u同向;
[0014]若|u|彡S2,生成控制游戲角色的第二操作指令:被控制游戲角色以第二速度V2移動(dòng),速度V2與向量u同向;
[0015]其中,|v2|> V1I ο
[0016]在部分實(shí)施例中,所述步驟A5中根據(jù)向量u生成控制游戲角色的操作指令包括以下步驟:
[0017]將所述移動(dòng)距咼長(zhǎng)度|u|與N個(gè)預(yù)設(shè)閾值QpQpQ3、......、QN 行比較,其中
N ^ 3:
[0018]若|u| < Q1,生成控制游戲角色的第一操作指令:被控制游戲角色以第一速度V1移動(dòng),速度V1與向量u同向;
[0019]若Q1S |u| < Q2,生成控制游戲角色的第二操作指令:被控制游戲角色以第二速度V2移動(dòng),速度V2與向量u同向;
[0020]若Q2S u < Q3,生成控制游戲角色的第三操作指令:被控制游戲角色以第三速度V3移動(dòng),速度V3與向量U同向;
[0021]......
[0022]若Qn A |u| < Qn,生成控制游戲角色的第N操作指令:被控制游戲角色以第N速度vN移動(dòng),速度vN與向量u同向;
[0023]若|u|彡Qn,生成控制游戲角色的第N+1操作指令:被控制游戲角色以第N+1速度νΝ+1移動(dòng),速度V N+1與向量U同向;
[0024]其中|vN+1| 多 vN >......> |v3| > V2 > V1I ο
[0025]進(jìn)一步地,|v」=0。
[0026]在部分實(shí)施例中,所述步驟A5中的所述操作指令包括:被控的游戲角色以速度V=w*|u|移動(dòng),其中,W為預(yù)設(shè)的相關(guān)系數(shù),速度V與向量U同向。
[0027]在部分實(shí)施例中,所述步驟A5中的所述操作指令包括:被控游戲角色以預(yù)設(shè)的速度移動(dòng),并且被控角色的至少一項(xiàng)屬性參數(shù)大小與|u|正相關(guān)。
[0028]進(jìn)一步地,所述被控角色的屬性參數(shù)包括:體力、攻擊力、防御力、靈敏度。
[0029]進(jìn)一步地,所述步驟Al還包括,提供一第一視覺參考標(biāo)識(shí)用于供用戶觀察所述用戶初始指示位置pi的坐標(biāo)。
[0030]進(jìn)一步地,所述步驟A2還包括,提供一第二視覺參考標(biāo)識(shí)用于供用戶觀察所述用戶當(dāng)前指示位置p2的坐標(biāo)。
[0031]進(jìn)一步地,所述滑屏操作為對(duì)電子裝置的連續(xù)控制動(dòng)作,包括但不限于對(duì)觸摸屏的觸摸連續(xù)滑動(dòng)動(dòng)作、鼠標(biāo)的點(diǎn)擊拖拽動(dòng)作、感應(yīng)操作的連續(xù)感應(yīng)滑動(dòng)。
[0032]本發(fā)明還公開了一種虛擬控制部件的控制方法,所述虛擬控制部件用于對(duì)游戲角色進(jìn)行控制,所述虛擬控制部件包括底座和操作部,所述控制方法包括以下步驟:
[0033]B1.創(chuàng)建所述虛擬控制部件步驟:創(chuàng)建所述虛擬控制部件,將所述底座和所述操作部的位置預(yù)設(shè)為初始位置;
[0034]B2.初始坐標(biāo)獲取步驟:響應(yīng)于用戶的滑屏操作,獲取用戶初始指示位置pl,將所述底座和所述操作部的位置都移動(dòng)到所述用戶初始指示位置Pl ;
[0035]B3:滑屏軌跡監(jiān)聽步驟:監(jiān)聽用戶的滑屏操作軌跡,獲取用戶當(dāng)前指示位置p2,所述操作部跟隨滑屏操作軌跡而移動(dòng);
[0036]B4:計(jì)算步驟:計(jì)算所述用戶當(dāng)前指示位置P2與所述用戶初始指示位置pl之間移動(dòng)距離長(zhǎng)度為u = |p2-pl| ;
[0037]B5:更新步驟:比較所述移動(dòng)距離長(zhǎng)度|u|與預(yù)設(shè)閾值S1,當(dāng)所述移動(dòng)距離長(zhǎng)度Iu大于所述預(yù)設(shè)閾值SJt,計(jì)算新位置pl ' =p2-(p2-pl)/Iu^Sdbk為預(yù)設(shè)的常數(shù)且k > 0,將所述用戶初始指示位置pl更新為所述新位置pl ',所述底座的位置移動(dòng)到新位置 Pi ';
[0038]B6.控制指令生成步驟:根據(jù)向量u = p2-pl生成控制游戲角色的操作指令。
[0039]其中,所述底座和所述控制部的位置分別指的是其各自的邏輯中心的坐標(biāo)。
[0040]進(jìn)一步地,所述控制步驟還包括:
[0041]B7.結(jié)束控制:響應(yīng)于滑屏操作的結(jié)束,將被控制游戲角色的速度設(shè)為0,所述底座和所述操作部的位置移動(dòng)到所述初始位置。
[0042]在部分實(shí)施例中,所述步驟B6中根據(jù)向量u生成控制游戲角色的操作指令包括以下步驟:
[0043]比較所述移動(dòng)距離長(zhǎng)度I u I與第二預(yù)設(shè)閾值S2,
[0044]若|u| < S2,生成控制游戲角色的第一操作指令:被控制游戲角色以第一速度V1移動(dòng),速度V1與向量u同向;
[0045]若|u|彡S2,生成控制游戲角色的第二操作指令:被控制游戲角色以第二速度V2移動(dòng),速度V2與向量u同向;
[0046]其中,IV21 > V11 ο
[0047]在部分實(shí)施例中,所述步驟B6中根據(jù)向量u生成控制游戲角色的操作指令包括以下步驟:
[0048]將所述移動(dòng)距咼長(zhǎng)度|u|與N個(gè)預(yù)設(shè)閾值QnQrQr......、Qn n行比較,其中
N ^ 3:
[0049]若|u| < Q1,生成控制游戲角色的第一操作指令:被控制游戲角色以第一速度V1移動(dòng),速度V1與向量u同向;
[0050]若Q1S |u| < Q2,生成控制游戲角色的第二操作指令:被控制游戲角色以第二速度V2移動(dòng),速度V2與向量u同向;
[0051]若Q2S u < Q3,生成控制游戲角色的第三操作指令:被控制游戲角色以第三速度V3移動(dòng),速度V3與向量u同向;
[0052]......
[0053]若QniS |u| < Qn,生成控制游戲角色的第N操作指令:被控制游戲角色以第N速度vN移動(dòng),速度vN與向量u同向;
[0054]若|u|彡Qn,生成控制游戲角色的第N+1操作指令:被控制游戲角色以第N+1速度νΝ+1移動(dòng),速度V N+1與向量U同向;
[0055]其中|vN+1| 多 vN >......> |v3| > V2 > V1I ο
[0056]進(jìn)一步地,|v」=0。
[0057]在部分實(shí)施例中,所述步驟B6中的所述操作指令包括:被控的游戲角色以速度V=w*|u|移動(dòng),其中,w為預(yù)設(shè)的相關(guān)系數(shù),速度V與向量u同向。
[0058]在部分實(shí)施例中,所述步驟B6中的所述操作指令包括:被控游戲角色以預(yù)設(shè)的速度移動(dòng),并且被控角色的至少一項(xiàng)屬性參數(shù)大小與|u|正相關(guān)。
[0059]進(jìn)一步地,所述被控角色的屬性參數(shù)包括:體力、攻擊力、防御力、靈敏度。
[0060]本發(fā)明與現(xiàn)有技術(shù)相比的有益效果在于:本發(fā)明通過獲取用戶的滑屏操作及其軌跡來確定用戶初始指示位置Pi和用戶當(dāng)前指示位置P2,比較兩者之間的移動(dòng)距離Iul與第一預(yù)設(shè)閾值S1,當(dāng)移動(dòng)距離Iul大于第一預(yù)設(shè)閾值SJt,更新用戶初始指示位置pl,使得用戶初始指示位置Pi根據(jù)用戶滑屏操作有條件地跟隨滑動(dòng),從而使得用戶在對(duì)游戲角色進(jìn)行控制時(shí)不再有被束縛的感覺,操作起來更加靈活更加流暢;與此同時(shí),相較于現(xiàn)有技術(shù)中在用戶需對(duì)游戲角色進(jìn)行改變方向操作時(shí)需要圍繞最初的用戶初始指示位置進(jìn)行滑動(dòng),而本發(fā)明中只需圍繞更新后的用戶初始指示位置進(jìn)行滑動(dòng),大大縮短使游戲角色改變方向時(shí)需要滑動(dòng)的距離,使得用戶在控制過程中更加方便和靈活,從而大大提高用戶的體驗(yàn)效果。
[0061]在進(jìn)一步的方案中,可以根據(jù)移動(dòng)距離Iul與第二預(yù)設(shè)閾值S2的比較將游戲角色的速度分為兩段式,或者根據(jù)移動(dòng)距離Iul與N個(gè)預(yù)設(shè)閾值進(jìn)行比較將游戲角色的速度分為多段離散式,或者使得游戲角色的參數(shù)與移動(dòng)距離Iul呈正相關(guān),例如游戲角色的速度與移動(dòng)距離IuI呈正比例,隨著移動(dòng)距離IuI的增大,游戲角色的速度越大,從而滿足各種用戶的各種需求,這些操作方法也讓用戶在對(duì)游戲角色進(jìn)行控制的過程中更加靈活,增加了游戲角色控制的真實(shí)感,進(jìn)一步提高用戶的體驗(yàn)效果。
[0062]本發(fā)明中的虛擬控制部