Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Взаємодія гравця з об'єктами | Поведінка гравця
Бійцівська гра в Unity
course content

Зміст курсу

Бійцівська гра в Unity

Бійцівська гра в Unity

1. Система анімації Unity
2. Поведінка гравця
3. Поведінка Ворога
4. Покращення гри
5. Покращення гри Flappy Bird

bookВзаємодія гравця з об'єктами

Інтерфейси

Інтерфейс схожий на контракт, який визначає набір методів і властивостей, які клас повинен реалізувати. Це дозволяє вам вказати, яку функціональність повинен мати клас, без надання деталей реалізації.

Приклад

Припустимо, ви створюєте гру в Unity і хочете створити різні типи зброї, такі як мечі, рушниці та луки. Ви можете створити інтерфейс під назвою IWeapon, який визначає основні дії, які повинна виконувати будь-яка зброя, такі як Attack() та Reload().

Тепер будь-який клас, який хоче вважатися зброєю у вашій грі, повинен реалізувати цей інтерфейс. Наприклад, ви можете мати клас Sword або клас Gun.

Використовуючи інтерфейси, ви можете забезпечити, щоб усі ваші види зброї мали однакову базову функціональність (Attack() і Reload()), але кожен з них може мати свою унікальну реалізацію. Це робить ваш код більш модульним і легшим для управління, особливо коли ваша гра стає складнішою.

Це інтерфейс, який ми використовували в нашій грі для позначення ворогів як об'єктів, які можуть бути атаковані.

TryGetComponent

Основні Пункти

  • raycastHit: Це стосується результату попадання променя. Коли ви кидаєте промінь в Unity, ви отримуєте інформацію про те, який об'єкт;
  • .TryGetComponent(out IGetAttacked getAttacked): Цей метод намагається отримати певний компонент з трансформації GameObject. Ключове слово out використовується для призначення отриманого компонента змінній getAttacked, якщо це вдалося. Якщо ні, то ігнорується все, що під цим if;
  • IGetAttacked: Це тип інтерфейсу, який код намагається отримати з GameObject. Він вказує, що GameObject повинен мати компонент, який реалізує інтерфейс IGetAttacked.

Якщо GameObject, в який влучив промінь, має компонент, що реалізує інтерфейс IGetAttacked, змінна getAttacked буде містити посилання на цей компонент після виконання цього рядка. В іншому випадку, getAttacked буде присвоєно значення null.

Яка мета методу `TryGetComponent` в Unity?

Яка мета методу TryGetComponent в Unity?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 5
some-alt