Ну вот и пришло время заняться архитектурой в полном смысле этого слова!
Попробуем сделать именно так, как и есть 1 уровень в Части 1 "Концепция игры"
Первым делом для удобства работы отключим в Иерархии Канвас. Для этого, выделив Canvas в Иерархии, в Инспекторе уберем галочку - канвас отключился со всеми дочерними объектами, ну и замечательно...
В Сцене в общем все видно, а вот в закладке Game все закрывает окно статистики, что не есть удобно, потому и отключили.
Далее открываем в качестве образца фото 1 уровня любым удобным способом и строим.
В Иерархии в папке BackGround уже есть папка Wells, где лежат блоки, которые сейчас в Сцене
Вот там и будем дублировать блоки и расставлять их в нужном порядке. Приступим...
То, что папка Wells растет с непомерной скоростью никак не должно тревожить.
В месте, где будет двигаться горизонтальная длинная платформа, надо сделать так, чтобы Игрок не мог запрыгнуть на нее, находясь в такой позиции
В общем получилось как-то так
Полностью по высоте наверное не получится в силу разных размеров экранов на компе и на телефоне. Но, это уже детали! Всяк может сделать так, как ему нравится, на то он и Автор!!!
Закрываем папку Wells в Иерархии и переходим к папке Platforms.
Горизонтальная платформа уже давно без дела висит на Сцене, добавим из раздела Project / BackGround префаб Platform в папку Platform в Иерархии в количестве трех штук и сразу растащим их по своим позициям. Если есть желание - поменяйте имена этим элементам, но я в этом не вижу смысла.
Пришла пора научить платформы двигаться. Для этого пишем скрипт GoPlatform
и располагаем его в папке Scripts. Следует отметить, что скрипт сделан сразу для всех уровней, где Игрок не должен касаться нижней части платформы.
В этом уровне здоровья Игрока нет и естественно нет ссылок на его здоровье, а вот в скрипте они есть.
Вешаем скрипт на каждую платформу и настраиваем позиции старта и финиша.
Настроим сначала левую вертикальную:
Смотрим в Инспекторе закладку Transform / Position
Это позиция старта. Теперь надо определить позицию финиша, причем только по оси Y. Для этого тянем платформу в Сцене в нужную точку и запоминаем значение оси
Данные старта и финиша заносим в скрипт, Time - время задержки при завершении скейла (у меня 1), Скорость движения крайне маленькая - можете использовать свою, Damage, как и говорилось выше временно не используем, поэтому "0"
Запускаем игру и наблюдаем...
Платформа ездит ровно.
Повторим весь процесс для двух других вертикальных платформ. Но, для интереса стартовые позиции поставим разные и разные скорости движения, я замедлил чуток! Вот как-то так
Запускаем, проверяем и если надо регулируем скрипт. Работает ровно!
Для горизонтальной платформы фиксируем позицию по оси Y и меняем старт и финиш в позиции Х. У меня так
В общем и целом теперь следует активировать Канвас, поставив галочку, запустить игру и проверить проход пока со скудным количеством монеток. Проверяем...
Надо иметь ввиду, что Игрок не может стоя ехать на горизонтальной платформе - платформа просто уйдет у него из под ног, потому по ней тоже надо двигаться. Как ликвидировать этот маленький пробел мы тут рассматривать не будем. Для этого когда-то будет раздел "Улучшения игры". А пока будет так!
Заодно надо расставить монетки...
Тут все просто - каждый сам решает, сколько очков должен собрать Пользователь, чтобы открылась дверь. У меня это 500 очков.
Каждая монетка имеет разный потенциал в очках согласно скрипта TakeCoin - стоимости монеток сидят внутри скрипта:
* GoldCoin = 10
* StarCoin = 20
* MoonCoin = 50
Для этого, расставляя монетки по игровому полю, следует считать количество очков, которые может подобрать Игрок.
Монеток может быть больше по очкам, чем надо. Это даст в последствии возможность наградить Пользователя каким-либо бонусом, если он соберет все монетки...
Установив нужное количество монеток по игровому полю, следует зайти в Player в Иерархии и уже в Инспекторе посетить скрипт TakeCoin и его строки настроек ScoreMax и StOut, где установить значение 500 (это у меня).
Запускаем и побеждаем!
Дверь открылась, статистика тоже с новыми значениями - ну и ладушки... значит все в норме!
Часть 1 "Концепция игры" https://dzen.ru/a/ZGJVMZKsTRJ1IRxW
Часть 2.1 "Поиск и размещение" https://dzen.ru/a/ZGNW53IB3hJhklbs
Часть 2.2 "Настройка игровых элементов" Игрок, Задний фон, Кирпичики, Поле Канваса, Земля, Фон Канваса, Границы игрового поля https://dzen.ru/a/ZGTlEXyZok4KNcEk
Часть 2.3 "Настройка игровых элементов"
Платформы, Кирпичики, Кнопки управления, элементы Канваса https://dzen.ru/a/ZG3owStvrRb4xElN
Часть 3.1 "Игрок - движение и прыжки" https://dzen.ru/a/ZJWHrGZylAw34K1k
Часть 3.2 "Игрок. Собиратель монеток. Дверь" https://dzen.ru/a/ZJrfjBv0yCUeuzCB
Часть 4 "Время, Статистика игры" https://dzen.ru/a/ZMotF8kxti_l2c5Q
Часть 5 "Собираем статистику в кучу" https://dzen.ru/a/ZYllpKSvuEWxQUwr
Далее Часть 7 "Прочие настройки и дополнения" https://dzen.ru/a/ZZv9cJVQmy2EZtwA