2017-06-03 118 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; 

话虽如此说,那些“拿来主义”你的代码的“资源”可以忽略不计,并通过这段代码使用的资源是可以忽略的小,如果不完全一样。但可读性总是很重要,这当然更具可读性。