2016-01-13 99 views
0

我正在創建一個虛擬啓動板,我將把這個腳本附加到每個按鈕上,但我需要它是模塊化的,這樣我就不需要64個不同的腳本來完成相同的操作事情。自定義KeyCode變量

我的問題是我不知道如何獲得KeyCodes公共變量。所以,如果我聲明瞭一個名爲「theKey」公共變量:

if (Input.GetKeyDown(KeyCode.theKey)) 
{ //play sound etc. 
} 

的東西類似,這樣的團結,我可以使用巡視插入熱鍵將是什麼這個腳本被附加到按鈕。

KeyCode.String不工作,我需要全鍵碼像.Alpha2

public class LaunchManager : MonoBehaviour { 

// Define public variables 
public Button b11; 

// Initialization 
void Start() { 
} 

// Update is called once per frame 
void Update() { 

    var pointer = new PointerEventData(EventSystem.current); 

    // For Single Use (sound emmission) 
    if (Input.GetKeyDown(KeyCode.Alpha2)) { 
     // Click Button from keypress 
     ExecuteEvents.Execute(b11.gameObject, pointer, ExecuteEvents.pointerDownHandler); 
     // Play Sound 
     GetComponent<AudioSource>().Play(); 
    } 

    // Execute while clicking 
    if (Input.GetKey(KeyCode.Alpha2)) { 
     //set button colour to pressed state 
    } 

    } 
} 

任何幫助非常讚賞。我徹底檢查了周圍的答案。如果我仍然錯過了相關細節,請告訴我,我會回覆。

回答

0

如果我正確理解你的問題你想這是因爲這樣做了公開密鑰號碼變量:

public Keycode theKey = Keycode.None; 

,你可以用它喜歡:

if (Input.GetKeyDown(theKey)) 
{ 

//Do code 

}