Почему, когда я перетаскиваю что-то с помощью IDragHandler, IPointerEnterHandler не всегда работает с другим объектом? - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь реализовать перетаскивание, используя EventSystem Unity. Когда я начинаю перетаскивать один объект с помощью IDragHandler - IPointerEnterHandler на другой объект время от времени не работает. Кто-нибудь знает, как это решить? Или, может быть, кто-то знает причину, по которой это ограничение существует?

1 Ответ

1 голос
/ 10 мая 2019

Поскольку EventSystem работает с радиовещанием, может существовать другой объект, который блокирует луч. Поэтому вы должны убедиться, что нет другого объекта, который может блокировать радиопередачи.

Если вы используете перетаскивание для элементов пользовательского интерфейса, вы можете изменить другие объекты CanvasGroup на canvasGroup.blocksRaycast = false или установить его как lastSibling https://docs.unity3d.com/ScriptReference/Transform.SetAsLastSibling.html.

Если вы делаете это с gameObjects, вы можете изменить слой вашего объекта на что-то более высокое, чем у других. Например, 10. Но не забудьте снова установить его по умолчанию, когда закончите.

Если вы можете поделиться GIF или чем-то еще, вам будет легче помочь.

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