Передумови
Скачайте даний проєкт та працюйте у ньому.
Основне Завдання
Використовуйте theme-20-base.zip як основу.
Створіть клас PathfindingGameFriendly2D (Code/Objects) та клас і сцену CrabFriendly (Scenes/NPCs/CrabFriendly) - так, як показано в теорії. Сцену зробіть із копії EnemyCrab.tscn.
Додайте дружнього краба на Level1 (Objects/NPCs) з параметрами StopDistance = 100, ResumeDistance = 150.
Краб має поводитися так:
4. Краб не стрибає на рівній землі та невеликих нерівностях - тільки там, де це справді потрібно.
Завдання 2
Додайте другого дружнього краба, який іде не за гравцем, а за першим.
Розмістіть другого краба поруч із першим, але не впритул (краби зіштовхуються між собою). Його StopDistance та ResumeDistance за замовчуванням дорівнюють 40 та 60 - за потреби змініть їх.
Щоб вказати ціль, виберіть другого краба, у інспекторі знайдіть змінну Target Override (група Targeting), натисніть Assign і виберіть першого краба.
Завдання 3
Поекспериментуйте зі значеннями Speed, StopDistance та ResumeDistance, щоб краб поводився по-іншому.
Наприклад, зробіть так, щоб краб завжди тримався поруч, або щоб він зупинявся далеко від гравця.
Порівняйте три випадки: ResumeDistance значно більше за StopDistance, рівне йому та менше за нього. Різницю найкраще видно, коли гравець повільно віддаляється від краба або коливається біля межі StopDistance; при ResumeDistance менше за StopDistance вона помітна навіть біля нерухомого гравця (увімкніть VerboseLogging на крабі й шукайте в консолі рядки "stopping" та "resuming"). Опишіть, що ви помітили, та поясніть, чому в теорії ResumeDistance має бути більшим за StopDistance.
Також спробуйте велике значення Speed: чи зупиняється краб точно на відстані StopDistance?
Завдання 4
Реалізуйте в CrabFriendly інтерфейс IDamagable з теми 19, щоб дружнього краба теж можна було "убити".
Орієнтуйтеся на EnemyCrab: додайте експортовану змінну Health, події Damaged та Died і метод TakeDamage. Коли Health досягне нуля - викликайте StartDying() (він є в PathfindingGameEntity2D), щоб краб відтворив анімацію смерті та зник.
build info
- compiler
- 2.0.5.1 · 4054EF9BF6C4510A
- built
- 2026-11-08 14:31:25 UTC
WebUniverse