如何从C#中的Input.GetKey获取浮点值

时间:2017-06-03 19:00:04

标签: c# unity3d

我得到了它的工作,但我希望有一个更清洁的解决方案。基本上它围绕玩家运行,你使用Q和E来改变角度值,这样你就可以左右旋转。

    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 个答案:

答案 0 :(得分:2)

试试这个:

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

话说回来,你的代码“使用”的“资源”可以忽略不计,而且这段代码使用的资源可以忽略不计,如果不完全相同的话。但是可读性总是很重要,而这肯定更具可读性。