【问题标题】: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,如果你向下滚动,它会减少