Найти в Дзене

Игра для Андроид "Чубрик и яйца" Часть 1 "Настройка и Канвас"

Вся ниже представленная информация есть в Телеграмм и доступна всем по ссылке t.me/ded63russtudio
В ближайшее время данный канал в Дзене поддерживаться не будет!
Настоятельно рекомендуем воспользоваться указанной ссылкой... Но, чтобы Вам, Читатель, было на чем практиковаться, сделаем очередной проект для платформы Андроид со смешным названием "Чубрик и яйца".
Это в прошлом шедевр! Первая игра в СССР, о которой мечтали все без исключения! Мне тогда было уже полных 19 и тем не менее, я тоже хотел обладать этой штукой!!!
Короткий экскур в историю: в 1984 году в магазинах появилась электронная игра "Электроника ИМ-02", она же - "Ну, Погоди!", она же - "Волк ловит яйца".
Этот электронный опус наделал много шума, и он стоил того. Предлагаю создать аналог этой известной игры для Андроид, несколько ее упростив и одновременно несколько усложнив - вот такая катахреза получается... (катахреза - совмещение несовместимых понятий!) Начнем по-тихоньку... Открываем Юнити и создаем новый проект

Вся ниже представленная информация есть в Телеграмм и доступна всем по ссылке t.me/ded63russtudio
В ближайшее время данный канал в Дзене поддерживаться не будет!
Настоятельно рекомендуем воспользоваться указанной ссылкой...

Но, чтобы Вам, Читатель, было на чем практиковаться, сделаем очередной проект для платформы Андроид со смешным названием "Чубрик и яйца".
Это в прошлом шедевр! Первая игра в СССР, о которой мечтали все без исключения! Мне тогда было уже полных 19 и тем не менее, я тоже хотел обладать этой штукой!!!
Короткий экскур в историю: в 1984 году в магазинах появилась электронная игра "Электроника ИМ-02", она же - "Ну, Погоди!", она же - "Волк ловит яйца".
Этот электронный опус наделал много шума, и он стоил того.

Вот так выглядело это чудо технической мысли...
Вот так выглядело это чудо технической мысли...

Предлагаю создать аналог этой известной игры для Андроид, несколько ее упростив и одновременно несколько усложнив - вот такая катахреза получается... (катахреза - совмещение несовместимых понятий!)

Начнем по-тихоньку...

Открываем Юнити и создаем новый проект в 2D, присваиваем ему название, какое нравится и запускаем

-2

После загрузки проекта полезно сразу перевести его на ту платформу, под которую и создается проект. У нас это Андроид, вот на него и настроим проект.
Жмем Build Setting

-3

выбираем платформу Android и жмем Switch Platform

-4

Результат будет примерно таким

-5

В закладке Game раскрываем список на котором значится Free Aspect и выбираем нужный нам фасон экрана... В нашем случае это вертикальный экран и я выбираю 18:9 Portrait. В итоге получаем вот так

-6

Перед началом работы следует готовим нужные папки в закладке Project.
Орнунг прежде всего!
Нам понадобяться папки: Audio, Sprites, Prefabs, Scripts... пока хватит!
Жмем на вкладку Project и видим там уже существующую папку Scenes.
Клик правой кнопкой мышки в поле Assets и в меню выбираем Create / Folder

-7

и вносим название папки. Повторите нужное количество раз...
В итоге закладка Project выглядит так

-8

С настройкой Юнити вполне хватит. Займемся Канвасом.

Практический совет: Если вы не уверены, что игра будет работать по тем или иным причинам, то стоит начинать не с Канваса, а с отработки механики игры. Канвас - визуальная составляющая - очки, время, рекорды и прочие причиндалы, которые обычно сбоев не дают.

А, вот механика игры - это совсем другое, более сложное дело...

В поле Hierarchy клик правой кнопкой мышки и выбираем UI / Canvas

-9

Лучше сразу настроить Канвас, так проще. В панели Inspector находим Canvas Scaler и выбираем Scale With Screen Size

-10

Так как у нас вертикальный экран, следует в Reference Resolution поменять местами значения размера по Х и Y. Оставим те же Х = 600, Y = 800.
Все остальное оставляем как есть...
Сохраняем изменения!

В верхней части Канваса мне думается уместно разместить следующие данные:
количество пойманных яиц, количество потерянных яиц и время игры.
В нижней части Канваса - рекорд предыдущего уровня и кнопку "Пауза".


Выполняем...
Для этого нам потребуются спрайты целого яйца, разбитого яйца и кнопка паузы. Тут все на ваш выбор, я уже выбрал и перенес их в папку Sprites

-11

В Канвасе создаем ПКМ Canvas/UI/Image

-12

Жмем на созданный элемент и в
поле SourseImage перетаскиваем спрайт целого яйца

-13

Переименовываем Image в ImageAgg в Иерархии, в Инспекторе придаем ему нужные размеры (у меня 40 на 55) и перетаскиваем его в левый верхний угол Канваса

-14

Сохраняемся и повторяем операцию для разбитого яйца. Между спрайтами оставляем место для будущих численных значений

-15

Создаем эти самые численные значения.
ПКМ Canvas/UI/Text, имя - ScoreEgg, в Инспекторе в Text ставим 0, меняем шрифт и цвет.
Полученный результат пристраиваем к спрайту целого яйца. Готово!
Копируем созданный элемент, даем ему другое имя и пристраиваем к разбитому яйцу. Вот как-то так

-16

Делаем часы, сиречь таймер... Авось сгодится!
Для этого создаем в Канвасе пустой объект и называем его Clock. Перетаскиваем его в левый верхний угол Канваса

-17

даем размер 215*100.
Дублируем, например, ScoreEgg, перетаскиваем его в созданную папку Clock и в поле Text в Инспекторе добавляем еще один 0

-18

и именуем его в Min
Дублируем уже созданный Min и меняем ему функционал на ":", сдвигаем правее.
Повторяем процесс для создания объекта Sec

-19

Верхняя часть Канваса есть. Но, выглядит что-то не очень. Не информативно читается...
Исправим этот недочет.
В Канвасе создаем Panel ПКМ/Canvas/UI/Panel

-20

Даем имя PanelUp, убавляем размер по вертикали так, чтобы ограничить верхнюю часть Канваса. При убавлении панели следует обратить внимание на белые треугольники по краям панели - это якоря. Они должны стоять по краям панели и никак иначе!

Теперь все созданные элементы верхней панели надо сделать дочерними объектами этой панели. В Иерархии выделяем все нужные элементы и тащим их в созданную панель

-21

Займемся якорями всех элементов Панели.
Сама панель уже привязана к верхней части экрана устройства, а вот ее элементы пока нет. Для наглядности выделим элемент ImageAgg и в Инспекторе в поле RectTransform видим красный прицел

-22

Это говорит о том, что элемент привязан к середине панели.
Вот только стоит-то он слева с краю - нажмем на этот прицел и выберем позицию слева/середина

-23

То есть, этим действием мы привязали элемент в нужной части
панели.
Надо сделать так со всеми остальными элементами. ScoreAgg точно также, ImageAggBax и ScoreAggBax оставляем по центру, как есть, папку Clock - справа/середина.

Следует отметить, что пренебрегать якорями нельзя! Размеры экранов телефонов у всех
разные. И чтобы элементы Канваса не разбегались куда попало, их надо фиксировать!!!

Панели остается придать нужный цвет: выделяем панель, в Инспекторе раздел Image / Color. Мне нравится черный и совсем непрозрачный

-24

Сразу стало красивее и читабельнее...

Однако еще не все - есть еще два элемента Канваса, которые будут необходимы: нижняя часть, где будет отображаться рекорд уровня и кнопка Пауза, и меню остановки игры при выигрыше или проигрыше.
Меню пока оставим и доделам его уже после отработки всей механики игры.
А, вот нижняя панель нужна сразу!

Я предлагаю свою домашнюю заготовку.
Для определения фона нижней части Канваса нужен сам фон игры. Я решил создать деревенскую пастораль - все же яйца ловить, стало быть ферма, а ферма - стало быть деревня. Берем нужную картинку и кидаем ее в папку Sprites в Assets

-25

Затем эту картинку тащим в Иерархию, выравниваем размеры картинки чуть больше поля игры и... ву-а-ля.

Теперь фон нижней части Канваса напрашивается сам собой - типа травка с чем нибудь. Я сделал так - нашел, что нравится, закинул в папку Sprites и перетащил в Иерархию

-26

И чтобы элемент был виден в Инспекторе этого элемента в разделе SpriteRenderer в Order in Layer ставим 1, так как фоновая картинка имеет показатель 0.
Дальше все просто - тащим вниз влево, ровняем габариты элемента и дублируем его нужное количество раз для создания фона

-27

Прошу отметить, что все эти манипуляции к Канвасу не имеют пока никакого отношения! Все делается в поле игры!

Если все создателя устраивает, надо привести в порядок поле Инспектора - много там всего уже собралось!
Создаем пустой объект и даем ему имя BackGround и переносим в него фоновую картинку и все элементы земли

-28

Теперь, если свернуть созданную папку, порядка в Иерархии станет не в пример больше!

Остается дополнить саму нижнюю часть Канваса.
Сразу сделаем еще одну панель (можно просто дублировать уже существующую верхнюю, удалив из нее все элементы и уменьшив прозрачность до 0). Имя ей - PanelDown

-29

На фото прозрачность 100% - проведите эксперимент, поиграйте с прозрачностью и выберите нужный вам вариант!

Теперь нужна надпись Рекорд и цифра 0.
Это уже проходили в верхней панели, потому делаем самостоятельно!

На этом этапе Часть 1 будем считать пока законченной.


Читайте следующую Часть 2 "Игровые элементы" (ссылка будет добавлена позже...)