PenData 结构体中的笔事件详细信息。
返回笔事件队列中给定索引处的笔事件的 PenData。
注意:此 API 是旧版 Input
类的一部分,不建议在新项目中使用。此处提供文档是为了支持使用旧输入管理器和输入类的旧版项目。对于新项目,您应该使用更新的 Input System 包。(了解更多)。
在 Windows 上,笔事件队列按时间顺序保存由 GetPointerPenInfoHistory 提供的任何错过的笔事件。队列在每一帧结束时清除。在所有其他平台上,队列始终为空。
using UnityEditor; using UnityEngine;
public class Example : EditorWindow { [MenuItem("Window/Pen Window")] public static void ShowWindow() { EditorWindow win = EditorWindow.GetWindow(typeof(Example)); win.titleContent = new GUIContent("Pen Window"); win.wantsMouseMove = true; }
void OnGUI() { var e = Event.current; if ((e.type == EventType.MouseDown || e.type == EventType.MouseDrag || e.type == EventType.MouseDown || e.type == EventType.MouseUp || e.type == EventType.MouseMove) && (e.pointerType == PointerType.Pen)) { int count = Input.penEventCount; for (int i = 0; i < count; i++) { // Log data from queued pen events PenData p = Input.GetPenEvent(i); Debug.Log($"Pen position {p.position}, pen pressure {p.pressure}, pen twist {p.twist}, pen tilt {p.tilt}, pen status - barrel {(p.penStatus & PenStatus.Barrel) != 0}"); } Input.ResetPenEvents(); } } }