Event.penStatus
Declaration
public PenStatus penStatus;Описание
Указывает состояние пера. Например, касается ли перо экрана или планшета, перевёрнуто ли оно и нажаты ли кнопки.
На macOS, penStatus не будет отражать изменения в сопоставлениях кнопок.
Перед обработкой события как события ручки, вы должны проверить PointerType события мыши (e.g. EventType.MouseDown).
Когда пользователь использует ручку, некоторые события мыши часто смешиваются с событиями ручки в потоке событий, и вы не можете отличить их по типу, потому что события мыши и ручки имеют одинаковые EventType. Вместо этого используйте PointerType для их различения. В противном случае Unity обрабатывает все входящие события мыши как события ручки, что может привести к неожиданному поведению, потому что события мыши (pointerType = Mouse) не имеют полей событий ручки, таких как PenStatus, set.
using UnityEngine;
public class Example : MonoBehaviour { void OnGUI() { Event m_Event = Event.current;
if (m_Event.type == EventType.MouseDown) { if (m_Event.pointerType == PointerType.Pen) //Check if it's a pen event. { if (m_Event.penStatus == PenStatus.Contact) Debug.Log("Pen is in contact with screen or tablet."); } else Debug.Log("Mouse Down."); //If it's not a pen event, it's a mouse event. } } }