繁体   English   中英

Unity 3D Input.GetAxis("Horizo​​ntal"); 不工作

[英]Unity 3D Input.GetAxis("Horizontal"); not working

(我正在使用 Unity 2021.3.5(最新),我用 C# 编写了一个用于玩家移动的脚本,水平输入(A,D)移动工作得很好,但垂直输入(W,S)不起作用有人能帮我吗?输入图片说明在这里

代码:

您为垂直和水平方向分配了相同的变量名称moveDirection ,请不要这样做。 相反,将水平输入和垂直输入分配给两个不同的变量,例如moveDirectionXmoveDirectionY 添加这两个向量给出了结果。

Vector3 moveDirectionX, moveDirectionY;

public void MovePlayer()
{
    moveDirectionX = orientation.forward * verticalInput;
    moveDirectionY = orientation.forward * horizontalInput;

    RB.AddForce((moveDirectionX + moveDirectionY).normalized * moveSpeed * 10f, ForceMode.Force);
}

Unity window中,转到Edit -> Project Settings -> Input Manager -> Axes -> Vertical

您可以更改Negative ButtonPositive button字段中的输入按钮,也可以添加替代输入: Alt Negative ButtonAlt Positive Button

输入管理器

但是正如上面提到的,由于将方向分配给一个变量,您将无法同时在两个方向上移动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM