ESCAPE: 2D Topdown Retro Game
Это 2D-игра с видом сверху, в которой используются различные типы основных ловушек. Все, что вам нужно — это управлять персонажем и суметь сбежать, собрав при этом как можно больше монет. Легко играть, сложно набрать высокий балл!
Играя в игру, вы сможете увидеть 2 сцены. Один пытается проникнуть в машину, сначала схватив ключ, минуя бомбу, проходя через ворота и избегая пожаров. Другой - вести машину, мчащуюся к финишу, спасаясь от пуль, лазеров и минуя полосу с шипами. Постарайтесь не попасть в ловушки, иначе ограниченное здоровье не будет гарантировать победу. Тем временем постарайтесь собирать монеты по дороге, поскольку в конечном счете они очень важны.
Удачи!
Посмертное исследованиеЕсть несколько моментов, на которые я хотел бы обратить внимание при изучении Unity и разработке игры.
Во-первых, помимо ввода клавиш игроком, эта игра в основном запускается коллайдерами. Коробочный коллайдер, круговой коллайдер и сетчатые коллайдеры для стен и различных ловушек. Однако вопрос о том, добавлять ли компоненты твердого тела, зависит от конкретных действий, которые мне нужны. Если ловушка трансформируется с помощью таких сценариев, как бомба или огненное кольцо, или на нее воздействует сила, такая как пуля, то необходимо добавить компонент твердого тела. С другой стороны, также можно использовать пользовательскую анимацию без твердого тела, такую как шипы, шипы и лазер. Дополнительным преимуществом отсутствия твердого тела является то, что игровой объект не будет ограничен другими коллайдерами, например.е, лазер пройдет сквозь стену, а не пробьет ее и разрушится.
Во-вторых, я обнаружил несколько приемов при решении задач, связанных с анимацией. Чтобы изменить состояния анимации с задержкой, я вначале пытался использовать StartCoroutine, выход и WaitForSeconds, но обнаружил, что это не работает. Затем я установил параметр bool перехода, управляемый скриптами с использованием Time.delataTime, но все равно не удалось. Наконец, я удалил параметр bool перехода и использовал скрипт для непосредственного управления воспроизведением состояния анимации, и это сработало. Это особенно полезно для того, чтобы позволить затвору закрыться и снова открыться на несколько секунд.
Еще один трюк, который я обнаружил, — это использовать события анимации, чтобы сообщать сценарию, когда состояние начинается и заканчивается. GetCurrentAnimatorStateInfo(0).IsName() не сработало. Этот трюк используется для ожидания и воспроизведения конечной анимации сцены 1 (запуск автомобиля), а затем загрузки в сцену 2.
Более того, для плавного вращения игрового объекта можно использовать Quaternion.Slerp. Однако дело обстоит иначе с огненным кольцом, которое вращается на 360 градусов. Использование slerp приводит к повороту на угол менее 180 градусов. Поэтому он будет вращаться не от 0 до 359, а от 0 до 1. Чтобы решить эту проблему, можно ввести очень простую строку -- transform.Rotate(new Vector3(0, 0, 100) * Time.deltaTime * скорость).
Наконец, эта игра все еще находится на очень ранней стадии разработки. Игровая механика и игровой процесс работают хорошо. Но есть спока над визуальной частью осталось еще много работы.
ПриложениеВот эскизный проект игры.
Как скачать ESCAPE: 2D Topdown Retro Game через торрент
Всего несколько простых шагов:
- Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
- Выбираем и скачиваем подходящий торрент-файл репака ESCAPE: 2D Topdown Retro Game
- Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!