【问题标题】:How to get MouseScroll Input?如何获得鼠标滚动输入?
【发布时间】:2011-04-15 10:36:27
【问题描述】:

我正在尝试在 Unity3D 中进行简单的武器更改。 最好的方法是使用鼠标滚轮。

我用谷歌搜索了如何做到这一点,发现我必须使用 Input.GetAxis("Mouse ScrollWheel");我使用这段代码并打印它。我仍然总是得到 0 的值。 有任何想法吗?我只需要先解决如何获得价值,剩下的我自己想办法。

代码思路:

function Update () {
    print(WeaponNumber);

    if(Input.GetAxis("Mouse ScrollWheel")){
        WeaponNumber += Input.GetAxis("Mouse ScrollWheel");
    }
}

【问题讨论】:

    标签: unity3d mousewheel unityscript


    【解决方案1】:

    你好,朋友, 您可以使用 Input.GetAxisRaw 代替 Input.GetAxis。 GetAxis 的值经过平滑处理,在 -1 .. 1 范围内,但 GetAxisRaw 为 -1 或 0 或 1。您可以删除 If 语句。因为当没有滚轮发生时,该值自动为零。

    【讨论】:

      【解决方案2】:

      因此,Input.GetAxis("Mouse ScrollWheel") 如果不滚动则返回 0,如果向上滚动则返回 0.1,如果向下滚动则返回 -0.1。所以这段代码的解决方案是:

          function Update() {
              if (Input.GetAxis("Mouse ScrollWheel") != 0) {
                  WeaponNumber += Mathf.FloorToInt(Input.GetAxis("Mouse ScrollWheel") * 10));
              }
          }
      

      如果你向上滚动,这基本上会增加 WeaponNumber,如果你向下滚动,它会减少

      【讨论】:

        猜你喜欢
        • 2016-05-07
        • 1970-01-01
        • 1970-01-01
        • 2011-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-29
        相关资源
        最近更新 更多