Зміст курсу
Unity для початківців
Unity для початківців
OnCollisionEnter і OnTriggerEnter
OnCollisionEnter2D:
Використання: Цей метод викликається, коли 2D колайдер, прикріплений до GameObject
, до якого прикріплений цей скрипт, зіштовхується з іншим колайдером у сцені, і принаймні один з колайдерів має прикріплений Rigidbody2D
.
Тригер: Цей метод в основному використовується для обробки фізичних зіткнень, коли об'єкти фактично "стикаються" один з одним.
Приклад сценарію: Уявіть, що у вас є гра з персонажем, який стрибає і приземляється на платформи. Коли персонаж приземляється на платформу, ви можете захотіти відтворити звук приземлення, змінити анімацію персонажа або викликати іншу дію. Ви б використовували OnCollisionEnter2D
, щоб виявити, коли колайдер персонажа зіштовхується з колайдером платформи.
OnTriggerEnter2D:
Використання: Цей метод викликається, коли 2D колайдер, прикріплений до GameObject
, до якого прикріплений цей скрипт, перекривається з іншим колайдером у сцені, і принаймні один з колайдерів має увімкнену властивість "Is Trigger".
Тригер: На відміну від OnCollisionEnter2D
, цей метод не стосується фізичних зіткнень, а скоріше
виявлення, коли один об'єкт входить у простір іншого без обов'язкового зупинення їх руху. Подумайте про це, як про проходження через двері без фізичного їх відкриття.
Приклад сценарію: Припустимо, у вас є гра, де гравець збирає монети. Коли персонаж гравця рухається над монетою, ви хочете збільшити рахунок гравця і зробити монету невидимою. Ви б використовували OnTriggerEnter2D
, щоб виявити, коли колайдер гравця перекривається з колайдером монети.
Що таке Тег?
Визначення: Тег - це рядкове значення, яке ви можете призначити GameObject
в Unity.
Призначення: Теги використовуються для категоризації та ідентифікації GameObjects
для різних цілей, таких як розрізнення об'єктів, керованих гравцем, ворогів, колекційних предметів, перешкод тощо.
Загальні використання тегів:
Ідентифікація ігрових об'єктів: Теги зазвичай використовуються для ідентифікації важливих GameObjects
у вашій сцені, таких як персонаж гравця, вороги, колекційні предмети, цілі тощо.
Виявлення зіткнень: Теги можуть використовуватися для визначення типу GameObjects
, які беруть участь у зіткненнях. Наприклад, ви можете захотіти перевірити, чи зіткнувся гравець з ворогом або колекційним предметом.
Виявлення тригерів: Подібно до виявлення зіткнень, ви можете використовувати теги для ідентифікації GameObjects
, які входять у тригерні зони, встановлені у вашій сцені.
Приклад:
Цей метод викликається щоразу, коли відбувається зіткнення між гравцем та іншим GameObject
у сцені.
Метод отримує параметр collision типу Collision2D
, який містить інформацію про зіткнення.
Він перевіряє, чи тег колайдера, що бере участь у зіткненні, дорівнює "ground".
Якщо умова виконується, він виводить "you lost" у консоль Unity за допомогою Debug.Log()
.
Цей метод викликається щоразу, коли відбувається перетин тригера між гравцем та іншим GameObject
у сцені.
Метод отримує параметр collision типу Collider2D
, який містить інформацію про перетин тригера.
Він перевіряє, чи тег колайдера, що викликав тригер, дорівнює "win".
Якщо умова виконується, він виводить "you won" у консоль Unity за допомогою Debug.Log()
.
Дякуємо за ваш відгук!