如何获取MouseScroll输入?

发布于 2024-11-01 13:32:10 字数 411 浏览 4 评论 0原文

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

我用谷歌搜索了如何执行此操作,发现我必须使用 Input.GetAxis("Mouse ScrollWheel");我使用这段代码并打印它。但我总是得到 0 值。 有什么想法吗?我只需要先解决如何获得价值,剩下的我自己解决。

代码思路:

function Update () {
    print(WeaponNumber);

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

I am trying to make a simple weapon change in Unity3D.
The best way to do this is with the mouse Scroll wheel as far as i can see.

I googled on how to do this and found that i have to use the Input.GetAxis("Mouse ScrollWheel"); I use this piece of code and print it. Still i always get an value of 0.
any ideas? I just need to solve how to get the value first, ill figure out the rest myself.

Code idea:

function Update () {
    print(WeaponNumber);

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

撩起发的微风 2024-11-08 13:32:10

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

Hey Friend,
Instead of Input.GetAxis you may use Input.GetAxisRaw. The value for GetAxis is smoothed and is in range -1 .. 1 , however GetAxisRaw is -1 or 0 or 1. and you may remove the If statement. cause when no scrollwheel happens the value is automatically zero.

最好是你 2024-11-08 13:32:10

因此,如果不滚动,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;如果向下滚动,则基本上会减少 WeaponNumber

So, Input.GetAxis("Mouse ScrollWheel") returns 0 if you didn't scroll, 0.1 if you scroll up and -0.1 if you scrolled down. So solution to this code would be:

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

And that will basically increase WeaponNumber if you scrolled up and decrease if you scrolled down

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文