在新的统一输入系统中,GetKey 的等价物是什么?

jas*_*ban 6 c# unity-game-engine

有开始、执行和取消,但是如果我想检测我是否按住了游戏手柄上的按钮,该怎么办。所以基本上,我如何使用新的输入系统将其重写为游戏手柄。

private void Jump()
    {
        if (isTouchingGround == true && Input.GetKeyDown(KeyCode.Space))
        {
            isJumping = true;
            jumpTimeCounter = jumpTime;
            myRigidbody2D.velocity = new Vector2(myRigidbody2D.velocity.x, 1 * jumpSpeed);
        }

        if (Input.GetKey(KeyCode.Space) && isJumping == true)
        {
            if (jumpTimeCounter > 0)
            {
                myRigidbody2D.velocity = new Vector2(myRigidbody2D.velocity.x, 1 * jumpSpeed);
                jumpTimeCounter -= Time.deltaTime;
            }
            else
            {
                isJumping = false;
            }
        }
        if (Input.GetKeyUp(KeyCode.Space))
        {
            isJumping = false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

小智 4

没有同等的!您必须将所有输入绑定到事件,然后在分配给这些事件的方法中处理输入。这是因为新的输入系统并没有直接使用 Keys 来使其在多个设备(键盘、控制器、手机……)上工作,而无需添加更多代码

这里