微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WASD密钥何时在我的代码中实现?

如何解决WASD密钥何时在我的代码中实现?

我正在为播放器编写C#脚本,该脚本使用WASD键移动。我的脚本在下面。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerAction : MonoBehavIoUr
{
    public Rigidbody rigid;
    public float horizontal;
    public float vertical;
    public float rate = 30.5f;
    // Start is called before the first frame update
    void Start()
    {
        rigid = GetComponent<Rigidbody>();
    }

    // Update is called once per frame
    void Update()
    {
        horizontal = Input.GetAxis("Horizontal");
        vertical = Input.GetAxis("Vertical");
        Vector3 direction = new Vector3(horizontal,0.0f,vertical);
        rigid.AddForce(direction * rate);
    }
}

我的代码完全没有问题,但是,我只想知道WASD密钥已经实现了 。有人可以解释一下吗?

解决方法

Unity的输入通过 Input Manager 进行控制(编辑->项目设置,然后选择“输入”类别)。

输入管理器使用以下类型的控件:

  1. 是指物理键盘上的任何键,例如W,Shift或 空格键。 按钮是指物理控制器上的任何按钮(例如游戏手柄),例如Xbox One上的X按钮 控制器
Input.GetKey("Jump") {...};
  1. 虚拟轴(复数:轴)被映射到控件,例如 按钮或按键。当用户激活控件时,轴将在 [-1..1]的范围。您可以在脚本中使用此值
horizontal = Input.GetAxis("Horizontal");

您的代码行引用在输入管理器中定义的名称为“ Horizo​​ntal”的 Axis 。该轴本身实现了正按钮和负按钮。在这种情况下,您可以从代码中间接获取输入的A / D。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。