Найти в Дзене
Делаем игры | UZAIR

Делать игры - просто. Самое важное в игре

Оглавление

Что мы делаем в играх? С точки зрения программирования? Взаимодействуем с объектами. А точнее, объекты взаимодействуют между собой.

Например, наш игрок взобрался на какую-либо преграду. Или, наш игрок на машине проехал линию финиша. Или еще: наш игрок упал в обрыв и погиб.

Я уже описал практически полноценную игру, а все это только одно - взаимодействие объектов между собой.

Объектами могут быть, например, коробка, как в 1-ом случае. Могут быть плоскости (видимые или не видимые), как во 2-ом случае. Или могут быть целой системой объектов и плоскостей, как в 3-ем.

Как это работает

Представим нас с Вами. Мы - твёрдые. Мы можем лежать на диване (как я сейчас😃) потому что, и диван тоже твёрдый.

Так и получается, что в первом случае, например, чтобы запрыгнуть на объект, нам нужно, чтобы наш игрок и объект были твёрдыми. Делается это с помощью наложение компонента Collider2D (пока буду говорить только о 2D играх).

Теперь представим, что диван - не твёрдый и мы проваливаемся сквозь него. Этот вариант для 2-ого и 3-его случая, где нам нужно что-то пересекать. Где объекты должны пересекаться. Но делается это с помощью того же Collider2D, но вот только в этом случае такие объекты называются триггерами.

Поставлена галочка Is Trigger
Поставлена галочка Is Trigger

Триггеры

Это очень важная характеристика компонента, с помощью которого можно воплощать такие моменты в игре, как завершение уровня, область смерти игрока, подбор предметов и т.д. То есть те моменты, в которых нужно что-либо пересекать.

Таким образом, например, я добился такого эффекта, как подбор банок с едой.

Или gameover’а, если рыбка подобрала кость или крючок

Кость - триггер. Как только рыбка пересекает этот триггер, появляется уведомление.
Кость - триггер. Как только рыбка пересекает этот триггер, появляется уведомление.

Как написать

Всё очень просто. Нам нужно создать условие: если Collider рыбки пересекает Collider кости, то бла-бла-бла.

Различные условия при взаимодействии с триггерами
Различные условия при взаимодействии с триггерами

Например, костям я присваиваю тег bones. Затем говорю, что если (if) тег триггера - bones (other.gameObject.tag==bones), то я активирую появление окошечка (Bones.setActive(true)).

С крючками и банками то же самое, меняются только условия.

Заключение

На взаимодействии объектов между собой и строится вся игра. И особое значение в этом составляют триггеры. Научившись с ними работать, Вы создадите что-то по-настоящему уникальное!

Подпишись, чтобы не пропустить следующую статью! Поставь лайк, если было интересно🫡