2017-06-03 119 views
1

我得到它的工作,但我希望有一個更清潔的解決方案。基本上它是圍繞着球員的軌道,你用Q和E來改變角度的值,這樣你可以左右移動。如何從C#中的Input.GetKey獲取浮點值#

if (Input.GetKey(KeyCode.Q)) { 
     gotQ = orbitSpeed; 
    } 

    else { 
     gotQ = 0; 
    } 

    if (Input.GetKey(KeyCode.E)) { 
     gotE = orbitSpeed; 
    } 
    else { 
     gotE = 0; 
    } 
    angle = angle + gotQ - gotE; 

正如你所看到的,當按下按鍵時,我設置gotQ和gotE爲正浮點數值,當它不是時,將其設置爲0。然後角度相應地改變。我試圖清理它,並使其使用更少的資源。

+1

嗯......你有沒有發現你試圖解決的這種方法的任何特定性能問題? – Serlite

+0

我們沒有看到您將這兩個變量設置爲浮點值,因爲您的代碼中沒有包含任何變量聲明和定義。 – krillgar

回答

2

試試這個:

if(Input.GetKey(KeyCode.Q)) 
    angle += orbitSpeed; 
if(Input.GetKey(KeyCode.E)) 
    angle -= orbitSpeed; 

話雖如此說,那些「拿來主義」你的代碼的「資源」可以忽略不計,並通過這段代碼使用的資源是可以忽略的小,如果不完全一樣。但可讀性總是很重要,這當然更具可讀性。