Input.mouseScrollDelta
仅针对物理鼠标滚轮进行更改。对于触摸板两指滚动手势,它并没有改变(尽管滚动图标确实出现了,并且在其他程序中也可以使用)。 Input.GetAxis("Mouse ScrollWheel")
具有相同的效果。 Input.touchCount
(或任何与触摸相关的内容)仅适用于触摸屏,并不能帮助我在触摸板上进行滚动检查。所以我没主意了。我应该怎么知道我正在笔记本电脑的触摸板上滚动?
答案 0 :(得分:2)
由于您已将其标记为Unity3d,因此也许可以帮助您克服:https://answers.unity.com/questions/356767/how-to-get-scrollwheel-values-using-a-laptop-touch.html
public void OnGUI()
{
if(Event.current.type == EventType.ScrollWheel)
// do stuff with Event.current.delta
Debug.Log(Event.current.delta);
}
OnGui
文档可在此处找到:https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnGUI.html
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
void OnGUI()
{
if (GUI.Button(new Rect(10, 10, 150, 100), "I am a button"))
{
print("You clicked the button!");
}
}
}
调用OnGUI来呈现和处理GUI事件。
这意味着您的OnGUI实现可能每帧被调用几次(每个事件一次)。有关GUI事件的更多信息,请参见事件参考。如果将MonoBehaviour的enabled属性设置为false,则不会调用OnGUI()。