Невозможно назначить функцию в EventTrigger - PullRequest
0 голосов
/ 14 октября 2019

Как видно на прикрепленном изображении, функция OnDrag не появляется в триггере событий. Это было назначено ранее, но когда я заново открываю проект, он выдает сообщение об отсутствии. Это все еще работает, хотя даже с отсутствующим приглашением, но моя проблема в том, когда я изменяю или переношу скрипт в другой игровой объект. Я не могу повторно назначить это снова.

public void OnDrag(BaseEventData eventData)
{
    RegisterPoint(Input.mousePosition);
}

public void Test()
{
}

enter image description here

Ответы [ 2 ]

1 голос
/ 14 октября 2019

Какая версия Unity это?

Произошло БАГ , из-за которого методы параметра динамический исчезают и отображаются только статические

Поскольку они очень ограничены в параметрах, которые могут бытьпереданный статический (BaseEventData не является одним из них), он больше не указан.

Вы в скором времени изменили версию Unity? Если это так, вы должны использовать одну из версий, эта ошибка была исправлена ​​для

2018.4, 2019.2 или 2020.1

По крайней мере для 2019.2 Я знаю, что она не была исправленадо 2019.2.5 но, возможно, они также исправили их обратно вниз.

0 голосов
/ 14 октября 2019

Лучше придерживаться официальных рекомендаций: используйте только методы без параметров или с параметрами простого типа с компонентом Event Triger - int, string, float и т. Д. Ваш метод OnDrag выглядит как реализованный метод интерфейса, поэтому его следует вызывать, если курсорперетаскивание по нему будет обнаружено, и объект либо является дочерним элементом Canvas, либо к нему подключен активный коллайдер, так что вам на самом деле здесь не нужен дополнительный триггер события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...