Hyper Casual игра на Unity с нуля. #3 Геймплей
Создадим класс, отслеживающий ввод игрока (на мобильных устройствах - свайпы, в редакторе - стрелки на клавиатуре).
AwesomeCompany/Common/Input/Direction.cs:
AwesomeCompany/Common/Input/SwipeDetector.cs:
Также создадим небольшой класс, который пригодится в дальнейшем для удобства при перемещении шара.
AwesomeCompany/Common/Input/Extensions.cs:
Изменим класс Cell. Добавим метод Complete для закрашивания. Закрашивать будем просто подменяя материал.
Создадим материал (Assets-> Create -> Material) и поменяем цвет.
Зайдем в префаб Floor, перетащим в Completed Material только что созданный материал, а в Mesh Renderer дочерний объект Plane.
Далее создадим класс для шара. Он подписывается на событие свайпа у SwipeDetector. При свайпе отправляет в GameController свое текущее положение и направление, получает в ответ список ячеек, которые нужно проехать до препятствия. Затем закрашивает их и телепортируется в последнюю (пока что не делаем плавное перемещение).
_/Scripts/Gameplay/Ball.cs:
Откроем префаб шара и добавим на него скрипт.
Изменим GameController, добавив методы получения ячеек и проверки завершения уровня. При старте уровня - активируем шар, чтобы можно было его двигать, при завершении - деактивируем и показываем окно LevelPassedWindow. Также добавляем метод Clear для удаления ячеек и шара со сцены.
Создадим класс окна "Уровень пройден". Сейчас добавим только кнопку выхода в главное меню.
_/Scripts/UI/Windows/LevelPassedWindow.cs:
Префаб окна создаем также, как создавали MainMenuWindow. Я добавил в него дополнительно текст и полупрозрачное изображение на фон.
Также изменим метод CreateBall в классе LevelFactory, чтобы он возвращал Ball вместо GameObject.
Запускаем игру и тестируем.
P.S. в статье не указывал, но местами старые переменные могут быть переименованы.
Все изменения в репозитории: github.com/sergeychemodanov/roller-splat.
я понимаю почему чел пишет эти статьи на дтф, на хабре за такой код затоптали бы.
не скажу что мне нравится этот код, но по моему на Хабаре затоптали бы любой код.
Да и вообще, каждый прогер в 90% случаях будет ругать чужой код. У всех мышление разное и стиль написания тоже разный.
Это точно цикл обучающих статей?
Всегда помогает задуматься о мотиве обучающего.
Что он продает? Явно не помощь начинающим.
Может сидит без работы и демонстрирует избыточный код, желая произвести впечатление на потенциальных лидов любителей подобного.
Обожаю полотна кода без комментариев.
Комментарий недоступен
ту же FlappyBird например, я не могу назвать плохой) казуальненько? да. плохо? -нет)