Как обнаружить щелчки мыши на определенном игровом объекте в системе ввода UnityC#

Место общения программистов C#
Anonymous
Как обнаружить щелчки мыши на определенном игровом объекте в системе ввода Unity

Сообщение Anonymous »

В Unity появилась новая система ввода, в которой старый метод OnMouseDown() { больше не работает.
В руководстве по миграции упоминается замена OnMouseDown() на Mouse.current.leftButton.isPressed, а в некоторых сообщениях на форуме упоминается использование InputAction.
Проблема для меня заключается в том, что эти параметры обнаруживают щелчки мышью в любом месте сцене, а не только на объекте:

Код: Выделить всё

public InputAction clickAction;

void Awake() {
clickAction.performed += ctx => OnClickedTest();
}

void OnClickedTest(){
Debug.Log("You clicked anywhere on the screen!");
}

// this doesn't work anymore in the new system
void OnMouseDown(){
Debug.Log("You clicked on this specific object!");
}
Как я могу обнаружить щелчки мыши на определенном игровом объекте с помощью новой системы ввода в Unity?

Вернуться в «C#»