Unity 6.3
0 онлайн 30 гостей 3 в системе
Вход

Input.GetPenEvent

Declaration

public static PenData GetPenEvent(int index);

Возвращаемое значение

PenData Сведения о событии пера в структуре.

Описание

Возвращает PenData для события pen на указанном индексе в очереди событий pen.

Примечание: Этот API является частью устаревшего менеджера ввода. Рекомендуется не использовать этот API в новых проектах. Для новых проектов используйте пакет 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(); } } }