Здравствуйте! Вас приветствует инди-Студия Ded63RusStudio.
Вся ниже представленная информация есть в Телеграмм и доступна всем по ссылке t.me/ded63russtudio
В ближайшее время данный канал в Дзене поддерживаться не будет!
Настоятельно рекомендуем воспользоваться указанной ссылкой...
Давайте вместе плавно и постепенно создадим простую 2D игру на Юнити. Информации будем много как текстовой, так и фото. Первая часть туториала будет посвящена теме "Запуск и Канвас"
Будем считать, что Юнити у Вас уже установлена и малость изучена.
Одновременно осознаем, что с C# Вы тоже знакомы, пусть даже и совсем поверхностно.
Поэтому, установку Юнити пропускаем и начнем сразу создавать игру.
Создаем новый проект в режиме 2D с названием, близким по Вам духу. Я назвал Races2D. Но это ни к чему не обязывает... При билдинге всегда можно записать нужное имя игры. А, это просто рабочее название проекта, понятное самому разработчику.
После загрузки проекта лучше сразу перевести его на платформу, под которую и создается проект. У нас это будет Андроид, вот под него и настроим проект. Жмем Build Setting
Выбираем платформу Android и жмем Switch Platform
Юнити заточит игру под Андроид. Сразу надо выбрать размер экрана. В закладке Game раскрываем список, на котором значится Free Aspect, и выбираем нужный фасон экрана... В нашем случае это вертикальный экран, и я выбираю 18:9 Portrait.
Готовый вариант для работы выглядит так:
Перед началом работы следует сразу подготовить нужные папки в закладке Project. Порядок прежде всего!
Нам понадобятся папки: Sprites, Prefabs, Scripts... пока хватит!
Жмем на вкладку Project и видим там уже существующую папку Scenes.
Клик правой кнопкой мышки в поле Assets и в меню выбираем Create / Folder
Все! Предварительная настройка проекта завершена. Можно начинать созидать игру.
По самой простой задумке: цель игры - передвижение аватомобильчика игрока во дороге как можно дольше и без аварий.
Для этого нам прежде всего нужен таймер для отслеживания времени передвижения.
Естественно, нужен финальный банер, который покажет, что игра окончена. И две кнопки "Выход" и "Рестарт"
В поле Hierarchy клик правой кнопкой мышки и выбираем UI / Canvas
Лучше Канвас настроить сразу, так проще будет в дальнейшем. В панели Inspector находим Canvas Scaler и выбираем Scale With Screen Size.
Так как у нас планируется вертикальный экран, следует в Reference Resolution поменять местами значения размера по Х и Y. Оставим те же Х = 600, Y = 800. Все остальное оставляем как есть...
И не забываем сохранять все сделанные изменения (Ctrl+S)... Хороший тон!
Где разместить таймер - дело личное. Я предпочитаю, чтобы нужная инфа была сверху... так просто удобнее по моему мнению.
Для этого создаем панель: на Canvas клик правой кнопкой и выбираем UI / Panel
Видим, что панель разместилась по всему Канвасу. Якоря уже на местах, совсем хорошо! Остается придать ей нужный размер, цвет и степень прозрачности, ну и имя присвоить, если надо.
По мне удобнее для придания размера видеть сразу окно Game - так нагляднее. Переключаемся на Game и меняем размер панели на нужный.
Далее в Инспекторе жмем на Color и в меню выбираем цвет и степень прозрачности. Я предпочитаю черный и непрозрачный, ну а имя панели на Ваш вкус... Мне удобно назвать PanelUp.
Теперь надо организовать цифры таймера.
Кликаем Panel правой кнопкой и выбираем UI / Text - TextMeshPro. В более ранних версиях будет еще просто Text, можно выбрать и его.... в нашем случае это не принципиально.
Обратите внимание, что созданный Текст является дочерним элементом Панели. Сменим ему имя на "Sec".
В панели Inspector:
- зададим размер текста Width 80, Height 70
- в поле Text запишем два нуля, шрифт сделаем жирным и наклонным
- в поле Alignment поставим выравнивание по высоте - середина, цвет Color... мне нравится желтый
В принципе все готово. Смещаем тект секунд в нужное место
Далее в таймере нужен визуальный разделитель секунд и минут.
Делаем...
Выделяем Sec и дублируем Ctrl+D, присваиваем новому элементу нужное имя, в поле Text ставим двоеточие и двигаем на нужную позицию
Снова выделяем Sec, дублируем, присваиваем имя Min и тащим на позицию
В общем с таймером все!
Я не думаю, что пользователь будет гнать больше часа, поэтому разряд Час в таймере явно и не нужен, вполне достаточно Секунд и Минут.
И последнее для вновь созданных элементов Канваса!!!
Выделив любой из них, в панели Inspector есть расположение якорей данного элемента.
Весьма важный аспект!!!
По умолчанию элемент привязан к Панели по ЦЕНТРУ панели.
Для Андроида можно оставить и так, но все же в силу того, что созданные элементы находятся явно справа от центра Панели, будет лучше, если мы и выставим якоря справа и по центру. Для этого, выделив элемент, в панели Inspector жмем вот тут
и выбираем справа-центр... Значки якорей будут справа по центру. Сделать надо для всех элементов таймера.Не забываем сохранить все изменения!!!
Теперь пришло время создать Финальный банер, появляющийся при проигрыше. Тут все просто:
- создаем в Канвасе новую Panel, даем ей нужное имя (у меня GameOver), меняем размер и цвет... Как-то так.
Все остальное в Финальном банере мы создадим позже.
И остается последнее - создать две кнопки: Выход из игры и Рестарт.
Прежде всего создадим новую Panel в полный размер и сделаем ее белой и прозрачной. Присвоим имя Buttons.
Далее клик правой кнопкой на созданной панели и выбираем UI / Button. Даем имя Restart
Выделяем созданную кнопку, меняем размер (у меня 250 * 100). При необходимости меняем цвет.
Однако цвет это уж совсем просто. Куда лучше добавить на кнопку изображение - спрайт.
В интернете полно спрайтов кнопок на любой вкус. Скачайте себе ту, которая нравится, главное в расширении png.
Далее спрайт надо затащить в папку Sprites, которая уже создана в закладке Project
Открываем папку Sprites и выделяем кнопку Restart. В окне Inspector там же, где меняется цвет копки выше есть Source Image. Вот туда и перетаскиваем наш спрайт кнопки. Кнопка стала куда интереснее!
Как видно, созданная кнопка является родителем. Дочерним объектом тут будет текст.
Открываем текст кнопки и пишем в поле Text "Начать снова". Мне больше нравится жирный курсив. Размер шрифта 35. В принципе можно и больше, но придется изменить размер самой кнопки. Далее цвет текста - я поставлю такой же, как и цифры таймера.
Что бы цвет был точно такой же, лучше взять пипетку, навести курсор на цифру и сделать клик
Кнопка готова. Дублируем ее. Даем имя Out и в тексте "Начать снова" меняем текст на "Выход".
Остается поставить кнопки на нужные позиции (фото 1.21) и сменить якоря кнопок на низ/середина. Функционал кнопок пропишем позже.
Сохраняемся!!!
Канвас для нашей версии игры создан и настроен.
Дополнительно в Панели можно расположить Рекорд и текущий Результат, а также количество жизней Игрока... так сказать для наглядности и залипания пользователя в игре. Но пока ограничимся уже сделанным.
В Части 2 https://dzen.ru/a/ZDBiSIkRGhr2Rxad будем создавать Игровые Элементы
P.S. Читатель! Если не затруднит, напишите в комментарии мнение об изложении материала. Заранее благодарен!