針對(duì)跑酷類(lèi)游戲進(jìn)行虛擬輸入控制的方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種針對(duì)跑酷類(lèi)游戲進(jìn)行虛擬輸入控制的方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]隨著近年來(lái)移動(dòng)智能終端的普及,催生了移動(dòng)互聯(lián)網(wǎng)的飛速發(fā)展,現(xiàn)在種類(lèi)繁多而豐富多彩的應(yīng)用讓移動(dòng)智能終端可以滿足人們的各種需求。但是由于在某些方面的技術(shù)瓶頸,諸如電池的續(xù)航能力、屏幕的尺寸以及用戶(hù)在使用移動(dòng)設(shè)備時(shí)不可避免的局限(如操作的精準(zhǔn)度等),都會(huì)影響用戶(hù)的使用體驗(yàn)。因此如果能在PC上模擬出移動(dòng)終端的運(yùn)行環(huán)境,并充分發(fā)揮PC的優(yōu)勢(shì),例如持續(xù)的電力、大屏幕的絢麗的畫(huà)面效果、鍵盤(pán)鼠標(biāo)的精準(zhǔn)操作等,可以很大程度上滿足用戶(hù)在移動(dòng)智能終端上無(wú)法得到的體驗(yàn)。
[0003]例如,對(duì)于許多游戲玩家而言,將手游的界面移植到更大顯示的PC上,可以獲得更好的游戲感受。跑酷類(lèi)游戲目前較為流行。跑酷,顧名思義,就是超越一系列障礙。例如一款跑酷類(lèi)游戲,玩家需要控制一個(gè)小黑人不斷向前奔跑,通過(guò)跳躍控制和障礙跨越,一路狂奔直達(dá)關(guān)底。在手機(jī)上進(jìn)行跑酷類(lèi)游戲操作較為方便,然而將界面移植到PC上之后,受限于鼠標(biāo)和鍵盤(pán)的輸入控制方式,非常不方便,特別是對(duì)于跑酷類(lèi)游戲的一系列手勢(shì)輸入控制,嚴(yán)重影響用戶(hù)體驗(yàn)。
【發(fā)明內(nèi)容】
[0004]鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的針對(duì)跑酷類(lèi)游戲進(jìn)行虛擬輸入控制的方法、裝置及系統(tǒng)。
[0005]依據(jù)本發(fā)明的一個(gè)方面,提供一種針對(duì)跑酷類(lèi)游戲進(jìn)行虛擬輸入控制的方法,用于對(duì)運(yùn)行在寄生于宿主操作系統(tǒng)的虛擬操作系統(tǒng)上的所述跑酷類(lèi)游戲進(jìn)行輸入控制,所述方法包括:
[0006]建立所述宿主操作系統(tǒng)與所述虛擬操作系統(tǒng)之間的通信連接;
[0007]針對(duì)所述跑酷類(lèi)游戲,在所述宿主操作系統(tǒng)中配置并存儲(chǔ)滿足按鍵條件的按鍵信息與控制命令的對(duì)應(yīng)關(guān)系,其中,所述按鍵條件包括:特定按鍵被按壓預(yù)置時(shí)間、順序按壓多個(gè)指定按鍵、特定按鍵手勢(shì),和/或,多個(gè)按鍵組合;
[0008]當(dāng)所述跑酷類(lèi)游戲在所述虛擬操作系統(tǒng)上運(yùn)行時(shí),所述宿主操作系統(tǒng)接收到用戶(hù)輸入的按鍵信息后,根據(jù)所述對(duì)應(yīng)關(guān)系,確定用戶(hù)輸入的按鍵信息對(duì)應(yīng)的控制命令;
[0009]通過(guò)所述通信連接,所述宿主操作系統(tǒng)向所述虛擬操作系統(tǒng)提供基于所述控制命令的輸入控制消息,由所述虛擬操作系統(tǒng)對(duì)輸入控制消息進(jìn)行處理。
[0010]優(yōu)選的,所述建立所述宿主操作系統(tǒng)與所述虛擬操作系統(tǒng)之間的通信連接,包括:[0011 ]通過(guò)所述宿主操作系統(tǒng)中的模擬控制程序啟動(dòng)所述虛擬操作系統(tǒng);
[0012]所述虛擬操作系統(tǒng)通過(guò)基礎(chǔ)進(jìn)程加載預(yù)定義腳本,從而將所述虛擬操作系統(tǒng)的IP地址提供給所述宿主操作系統(tǒng),以及,通過(guò)所述基礎(chǔ)進(jìn)程啟動(dòng)虛擬輸入服務(wù)進(jìn)程;
[0013]所述宿主操作系統(tǒng)根據(jù)所述虛擬操作系統(tǒng)的IP地址,建立所述模擬控制程序與所述虛擬輸入服務(wù)進(jìn)程之間的連接。
[0014]優(yōu)選的,
[0015]在所述宿主操作系統(tǒng)確定用戶(hù)輸入的按鍵信息對(duì)應(yīng)的控制命令之后,還包括:所述宿主操作系統(tǒng)根據(jù)所述控制命令轉(zhuǎn)譯得到輸入控制消息,由所述模擬控制程序?qū)⑺鲚斎肟刂葡l(fā)送給所述虛擬輸入服務(wù)進(jìn)程;
[0016]所述由所述虛擬操作系統(tǒng)對(duì)輸入控制消息進(jìn)行處理包括:所述虛擬操作系統(tǒng)對(duì)所述輸入控制消息進(jìn)行解譯,得到所述虛擬操作系統(tǒng)可識(shí)別的輸入控制信號(hào)。
[0017]優(yōu)選的,所述根據(jù)所述控制命令轉(zhuǎn)譯得到輸入控制消息,包括:
[0018]所述模擬控制程序?qū)λ隹刂泼钜约翱刂茀?shù)進(jìn)行轉(zhuǎn)譯,生成所述輸入控制消息。
[0019]優(yōu)選的,所述虛擬輸入服務(wù)進(jìn)程對(duì)所述輸入控制消息進(jìn)行解譯,得到所述虛擬操作系統(tǒng)可識(shí)別的輸入控制信號(hào),包括:
[0020]對(duì)所述虛擬輸入服務(wù)進(jìn)程接收到的所述輸入控制消息進(jìn)行解譯,得到所述控制命令;
[0021]對(duì)解譯得到的控制命令進(jìn)行硬件抽象層HAL轉(zhuǎn)換,得到所述虛擬操作系統(tǒng)可識(shí)別的輸入控制信號(hào)。
[0022]優(yōu)選的,
[0023]所述虛擬操作系統(tǒng)運(yùn)行在與所述宿主操作系統(tǒng)所在物理設(shè)備相獨(dú)立的另一個(gè)物理設(shè)備上;或者,
[0024]所述虛擬操作系統(tǒng)運(yùn)行在虛擬機(jī)上,其中,所述虛擬機(jī)運(yùn)行在所述宿主操作系統(tǒng)所在的物理設(shè)備上,或者,所述虛擬機(jī)運(yùn)行在與所述宿主操作系統(tǒng)所在物理設(shè)備不同的另一個(gè)物理設(shè)備上。
[°°25] 優(yōu)選的,所述虛擬機(jī)為VirtualBox虛擬機(jī);
[0026]所述通過(guò)所述宿主操作系統(tǒng)中的模擬控制程序啟動(dòng)所述虛擬操作系統(tǒng),包括:通過(guò)所述宿主操作系統(tǒng)中的模擬控制程序控制VirtualBox虛擬機(jī),由VirtualBox虛擬機(jī)啟動(dòng)所述虛擬操作系統(tǒng)。
[0027]優(yōu)選的,所述虛擬機(jī)為VirtualBox虛擬機(jī);
[0028]所述虛擬操作系統(tǒng)通過(guò)基礎(chǔ)進(jìn)程加載預(yù)定義腳本,從而將所述虛擬操作系統(tǒng)的IP地址提供給所述宿主操作系統(tǒng),包括:
[0029]所述虛擬操作系統(tǒng)通過(guò)ini t進(jìn)程加載預(yù)定義腳本,運(yùn)行VirtualBox虛擬機(jī)的客戶(hù)擴(kuò)展組件,將所述虛擬操作系統(tǒng)的IP地址寫(xiě)入VirtualBox虛擬機(jī)的客戶(hù)屬性;
[0030]所述宿主操作系統(tǒng)讀取所述VirtualBox虛擬機(jī)的客戶(hù)屬性,獲取所述虛擬操作系統(tǒng)的IP地址。
[0031 ]優(yōu)選的,
[0032]所述通過(guò)所述基礎(chǔ)進(jìn)程啟動(dòng)虛擬輸入服務(wù)進(jìn)程,包括:通過(guò)ini t進(jìn)程啟動(dòng)Vinput進(jìn)程;
[0033]所述建立所述模擬控制程序與所述虛擬輸入服務(wù)進(jìn)程之間的連接,包括:在所述虛擬操作系統(tǒng)的指定端口,所述vinput進(jìn)程建立與所述模擬控制程序的連接。
[0034]優(yōu)選的,在通過(guò)所述宿主操作系統(tǒng)中的模擬控制程序啟動(dòng)所述虛擬操作系統(tǒng)之前,還包括:所述宿主操作系統(tǒng)配置一個(gè)專(zhuān)門(mén)用來(lái)與所述虛擬操作系統(tǒng)通信的虛擬網(wǎng)絡(luò)連接,使得宿主操作系統(tǒng)和虛擬操作系統(tǒng)在所述虛擬網(wǎng)絡(luò)連接中連通。
[0035]優(yōu)選的,所述宿主操作系統(tǒng)包括Windows操作系統(tǒng)、Mac操作系統(tǒng)或Linux操作系統(tǒng);所述虛擬操作系統(tǒng)包括Andro id操作系統(tǒng)。
[0036]優(yōu)選的,還包括:通過(guò)獲取跑酷類(lèi)游戲軟件包信息,確定跑酷類(lèi)游戲類(lèi)型,并在所述宿主操作系統(tǒng)中建立跑酷類(lèi)游戲類(lèi)型與所述對(duì)應(yīng)關(guān)系的關(guān)聯(lián)。
[0037]—種針對(duì)跑酷類(lèi)游戲進(jìn)行虛擬輸入控制的裝置,用于對(duì)運(yùn)行在寄生于宿主操作系統(tǒng)的虛擬操作系統(tǒng)上的所述跑酷類(lèi)游戲進(jìn)行輸入控制,所述裝置包括:
[0038]宿主虛擬通信單元,用于建立所述宿主操作系統(tǒng)與所述虛擬操作系統(tǒng)之間的通信連接;
[0039]配置單元,用于針對(duì)所述跑酷類(lèi)游戲,在所述宿主操作系統(tǒng)中配置并存儲(chǔ)滿足按鍵條件的按鍵信息與控制命令的對(duì)應(yīng)關(guān)系,其中,所述按鍵條件包括:特定按鍵被按壓預(yù)置時(shí)間、順序按壓多個(gè)指定按鍵、特定按鍵手勢(shì),和/或,多個(gè)按鍵組合;
[0040]控制命令確定單元,用于在所述宿主操作系統(tǒng)接收到用戶(hù)輸入的按鍵信息后,根據(jù)所述對(duì)應(yīng)關(guān)系,確定用戶(hù)輸入的按鍵信息對(duì)應(yīng)的控制命令;
[0041]控制命令處理單元,用于通過(guò)所述通信連接,由所述宿主操作系統(tǒng)向所述虛擬操作系統(tǒng)提供基于所述控制命令的輸入控制消息,以便所述虛擬操作系統(tǒng)對(duì)輸入控制消息進(jìn)行處理。
[0042]優(yōu)選的,所述宿主虛擬通信單元具體包括:
[0043]啟動(dòng)虛擬控制子單元,用于控制所述宿主操作系統(tǒng)中的模擬控制程序啟動(dòng)所述虛擬操作系統(tǒng);
[0044]虛擬IP地址獲取子單元,用于獲取所述虛擬操作系統(tǒng)的IP地址;
[0045]虛擬連接建立子單元,用于根據(jù)所述虛擬操作系統(tǒng)的IP地址,建立所述模擬控制程序與虛擬操作系統(tǒng)中虛擬輸入服務(wù)進(jìn)程之間的連接。
[0046]優(yōu)選的,所述控制命令處理單元具體用于,對(duì)所述控制命令以及控制參數(shù)進(jìn)行轉(zhuǎn)譯,生成所述輸入控制消息。
[0047]優(yōu)選的,
[0048]所述虛擬操作系統(tǒng)運(yùn)行在與所述宿主操作系統(tǒng)所在物理設(shè)備相獨(dú)立的另一個(gè)物理設(shè)備上;或者,
[0049]所述虛擬操作系統(tǒng)運(yùn)行在虛擬機(jī)上,其中,所述虛擬機(jī)運(yùn)行在所述宿主操作系統(tǒng)所在的物理設(shè)備上,或者,所述虛擬機(jī)運(yùn)行在與所述宿主操作系統(tǒng)所在物理設(shè)備不同的另一個(gè)物理設(shè)備上。
[0050]優(yōu)選的,所述虛擬機(jī)為VirtualBox虛擬機(jī);所述啟動(dòng)虛擬控制子單元具體用于,通過(guò)所述宿主操作系統(tǒng)中的模擬控制程序控制VirtualBox虛擬機(jī),由VirtualBox虛擬機(jī)啟動(dòng)所述虛擬操作系統(tǒng)。
[0051]優(yōu)選的,所述虛擬機(jī)為VirtualBox虛擬機(jī);所述虛擬IP地址獲取子單元具體用于,讀取所述VirtualBox虛擬機(jī)的客戶(hù)屬性,獲取所述虛擬操作系統(tǒng)的IP地址。
[0052]優(yōu)選的,所述虛擬連接建立子單元具體用于,在所述虛擬操作系統(tǒng)的指定端口,所述模擬控制程序與所述虛擬操作系統(tǒng)的vinput進(jìn)程建立連接。
[0053]優(yōu)選的,還包括:
[0054]虛擬網(wǎng)絡(luò)配置單元,用于在所述宿主操作系統(tǒng)配置一個(gè)專(zhuān)門(mén)用來(lái)與所述虛擬操作系統(tǒng)通信的虛擬網(wǎng)絡(luò)連接,使得宿主操作系統(tǒng)和虛擬操作系統(tǒng)在所述虛擬網(wǎng)絡(luò)連接中連通。
[0055]優(yōu)選的,還包括:
[0056]跑酷類(lèi)型確定單元,用于通過(guò)獲取所述跑酷類(lèi)游戲軟件包信息確定跑酷類(lèi)游戲類(lèi)型,并在所述宿主操作系統(tǒng)中建立跑酷類(lèi)游戲類(lèi)型與所述對(duì)應(yīng)關(guān)系的關(guān)聯(lián)。
[0057]一種針對(duì)跑酷類(lèi)游戲進(jìn)行虛擬輸入控制的系統(tǒng),用于對(duì)運(yùn)行在寄生于宿主操作系統(tǒng)的虛擬操作系統(tǒng)上的所述跑酷類(lèi)游戲進(jìn)行輸入控制,所述系統(tǒng)包括:
[0058]宿主操作系統(tǒng),用于建立與所述虛擬操作系統(tǒng)之間的通信連接,并針對(duì)所述跑酷類(lèi)游戲,配置并存儲(chǔ)滿足按鍵條件的按鍵信息與控制命令的對(duì)應(yīng)關(guān)系,其中,所述按鍵條件包括:特定按鍵被按壓預(yù)置時(shí)間、順序按壓多個(gè)指定按鍵、特定按鍵手勢(shì),和/或,多個(gè)按鍵組合;在所述虛擬操作系統(tǒng)上運(yùn)行所述跑酷類(lèi)游戲時(shí),接收到用戶(hù)輸入的按鍵信息后,根據(jù)所述對(duì)應(yīng)關(guān)系,確定用戶(hù)輸入的按鍵信息對(duì)應(yīng)的控制命令;通過(guò)所述通信連接,向所述虛擬操作系統(tǒng)提供基于所述控制命令的輸入控制消息,
[0059]虛擬操作系統(tǒng),用于建立與所述宿主操作系統(tǒng)之間的通信連接,并在接收到宿主操作系統(tǒng)的輸入控制消息之后,對(duì)輸入控制消息進(jìn)行處理。
[0060]優(yōu)選的,
[0061]所述宿主操作系統(tǒng)還用于,建立與所述虛擬操作系統(tǒng)的網(wǎng)絡(luò)連接,并通過(guò)模擬控制程序啟動(dòng)所述虛擬操作系統(tǒng),以及,根據(jù)獲取的所述虛擬操作系統(tǒng)的IP地址,建立所述模擬控制程序與所述虛擬操作系統(tǒng)中的輸入服務(wù)進(jìn)程之間的連接;并且,在確定出控制命令后,根據(jù)所述控制命令轉(zhuǎn)譯得到輸入控制消息,由所述模擬控制程序?qū)⑺鲚斎肟刂葡l(fā)送給所述虛擬輸入服務(wù)進(jìn)程;
[0062]所述虛擬操作系統(tǒng)還用于,通過(guò)基礎(chǔ)進(jìn)程加載預(yù)定義腳本,從而將所述虛擬操作系統(tǒng)的IP地址提供給所述宿主操作系統(tǒng),以及,通過(guò)所述基礎(chǔ)進(jìn)程啟動(dòng)虛擬輸入服務(wù)進(jìn)程,以及,由所述虛擬輸入服務(wù)進(jìn)程接收所述模擬控制程序發(fā)送來(lái)的輸入控制消息,并且,對(duì)所述虛擬輸入服務(wù)進(jìn)程接收到的所述輸入控制消息進(jìn)行解譯,得到所述虛擬操作系統(tǒng)可識(shí)別的輸入控制信號(hào)。
[006