如何从触摸板获取鼠标滚动?



Input.mouseScrollDelta仅对物理鼠标滚轮进行更改。对于触摸板双指滚动手势,它不会发生变化(尽管滚动图标确实会出现,并且在其他程序中有效(。Input.GetAxis("Mouse ScrollWheel")具有相同的效果。Input.touchCount(或任何与触摸相关的内容(仅适用于触摸屏,并不能帮助我在触摸板上进行自己的滚动检查。所以我没有想法。我怎么知道我在笔记本电脑的触摸板上滚动?

既然你已经把它标记为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 事件的详细信息,请参阅事件参考。如果 MonoBehavior 的 enabled 属性设置为 false,则不会调用 OnGUI((。

相关内容

  • 没有找到相关文章

最新更新