[英]Unity 3D Input.GetAxis("Horizontal"); not working
(我正在使用 Unity 2021.3.5(最新),我用 C# 编写了一个用于玩家移动的脚本,水平输入(A,D)移动工作得很好,但垂直输入(W,S)不起作用有人能帮我吗?输入图片说明在这里
代码:
您为垂直和水平方向分配了相同的变量名称moveDirection
,请不要这样做。 相反,将水平输入和垂直输入分配给两个不同的变量,例如moveDirectionX
和moveDirectionY
。 添加这两个向量给出了结果。
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 Button
和Positive button
字段中的输入按钮,也可以添加替代输入: Alt Negative Button
和Alt Positive Button
。
但是正如上面提到的,由于将方向分配给一个变量,您将无法同时在两个方向上移动。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.