Как заменить OnMouseDown в новой системе ввода Unity?C#

Место общения программистов C#
Anonymous
Как заменить OnMouseDown в новой системе ввода Unity?

Сообщение Anonymous »

В Unity есть новая система ввода, в которой старая 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#»