2016-04-04 2 views
0

Я могу обнаружить столкновение между компонентами пользовательского интерфейса и игровым объектом, если мой холст отображается в мировом пространстве. Здесь я пытаюсь найти столкновение между двумя элементами пользовательского интерфейса (например, кнопки пользовательского интерфейса), когда режим рендеринга холста - это оверлей на экране.Столкновения между элементами пользовательского интерфейса в Unity

Я добавил компоненты коллайдера коробки к своим кнопкам пользовательского интерфейса и попытался использовать OnCollisionEnter2D и OnTriggerEnter2D. Но, столкновение не обнаружено. Есть ли способ обнаружить столкновение?

ответ

2

Вопрос не требует наличия кода. Однако я решил решение. В обоих элементов пользовательского интерфейса, вам необходимо:

  • Приложить rigidbody2d компонент
  • Приложить ящик коллайдере компонент
  • отключить гравитационный
  • включить isTrigger флажок.

Теперь в скрипте, прикрепленного к одному из элементов пользовательского интерфейса:

void OnTriggerEnter2D(Collider2D other) 
{ 
    Debug.Log ("Triggered"); 
} 

Это обнаружит коллизию.

+0

спасибо Nahuel –

+0

Отключение силы тяжести только для предотвращения падения элементов пользовательского интерфейса? Или это необходимо для фактического обнаружения столкновения? – LilaQ

+0

Только для предотвращения падения элементов пользовательского интерфейса. –

Смежные вопросы