untiy input system 2/5
3直接讀取設(shè)備狀態(tài)
新建名為“input”腳本,并添加到需要反饋的資產(chǎn)中(如玩家的膠囊體)。
輸入以下代碼:
1、獲取當(dāng)前電腦鏈接的設(shè)備:可以是鍵盤、鼠標(biāo)、手柄等。Keyboard為鍵盤、current為當(dāng)前即正在使用的。Keyboard可以替換為“Gamepad、Mouse(手柄、鼠標(biāo))等”。
2、如果沒找到需要的設(shè)備:這里我省略了相關(guān)程序,可以根據(jù)項(xiàng)目需要進(jìn)行編寫。不能沒有,沒有出bug。
3、按下E鍵程序:JianPan.eKey.isPressed中的“eKey”指“e鍵”class Keyboard中的一個(gè)屬性,可以輸入“Key”關(guān)鍵詞搜索其它按鍵的代碼。鼠標(biāo)可以用“Button”為關(guān)鍵詞搜索。手柄搖桿搜索“Stick”,按鍵同樣為“Button”。
注:存儲(chǔ)鼠標(biāo)的坐標(biāo)為“position”屬性,類型為“Vector2Control”,讀取這個(gè)二維向量需要用“ReadValue()”方法。unity的鼠標(biāo)坐標(biāo)系為游戲窗口左下角為零點(diǎn),因此如果鼠標(biāo)脫離游戲窗口是有可能為負(fù)值的。

編寫好程序后添加到資產(chǎn)中即可,本文為玩家視角的資產(chǎn),如與本文程序相同,則運(yùn)行游戲后按下e鍵控制臺(tái)打印“E”即為成功:

1、選擇資產(chǎn)。
2、將腳本添加到資產(chǎn)。
3、控制臺(tái)窗口。
實(shí)際情況中,本方法需要在設(shè)計(jì)開始就得考慮好各種情況進(jìn)行調(diào)試。雖然程序上簡(jiǎn)單,但是邏輯上不簡(jiǎn)單,得先想清楚整體的架構(gòu)才能實(shí)踐。