Урок 18 – Счет и UI

В этом уроке мы добавим линию старта и финиша, а затем добавим таймер, чтобы отслеживать сколько времени понадобится игроку, чтобы закончить уровень. Итак, начинаем!

В начале создадим новый объект Tiled Sprite и зададим имя FinishLine, а ширину и высоту укажем 64х64.

Заходим в Piskel и создаем такую мазайку.

Теперь, перемещаем наш объект на дорогу, и растягиваем. В отличие от обычного спрайта, плиточный спрайт при растяжении будет просто копировать себя.

Далее выбираем дорогу, и копируем ее положение по Y на наш объект, чтобы FinishLine переместился к концу дороги.

Также давайте сделаем стартовую линию. Для этого дублируем объект FinishLine и переименуем в StartLine. Далее разместим новый объект здесь.

Затем создадим текст “START” над линией старта. Для этого создаем новый текстовый объект.

И заполняем текстовые настройки так:

И добавляем текст в игру.

Запускаем игру. И сразу видим несколько ошибок. Когда объект Player проезжает через линию старта и слово START, он находится под ними. Изменим Z-index объекта Player, чтобы он был над всеми объектами.

Также наши преграды начинаются до стартовой линии. Чтобы это изменить, укажем в количестве строк значение 29.

Далее давайте установим таймер за сколько игрок пройдет уровень. Создадим новую группу Race Timer.

Теперь нам надо создать условие, когда запустится Timer. Он запустится когда наш объект плеер коснется стартовой линии. Выбираем не физическое столкновение.

Далле еще выбираем условие Trigger once, чтобы наше действие сработало только 1 раз.

А для действия мы выберем таймер и зададим ему имя.

Затем, когда объект коснется финишной линии, мы остановим таймер. Для этого скопируем наше выражение и чуть изменим его.

Далее нам необходимо вывести значение таймера на экран. Для этого создаем новый текстовый объект на слое UI.

И размещаем этот текстовый объект сюда.

Далее в событиях свяжем наш текст со значением таймера. В условии нового события ничего не указываем, а в действии выбираем наш объект с текстом, выбираем действие Modify Text, чтобы изменить текст, и далее выбираем связываем его с таймером. Только необходимо перевести значение таймера в текст, так как у нас текстовый объект. В значении указываем TimerElapsedTime, чтобы отображалось текущее значение таймера в данный промежуток времени, и уже в его скобках указываем имя нашего таймера.

Запускаем игру. Мы видим что у тай мера слишком большое значение после точки.

Мы можем исправить это с помощью функции round, тогда мы округлим таймер только до целых чисел.

Давайте теперь добавим текст поверх таймера.

И езе добавим эффекты к этому тексту.

Сперва добавим контур.

И еще добавим тень.

Для текстового объекта RaceTimer добавляет точно такие же эффекты.

Также добавим стрелкам свечение, чтобы они выделялись.

Готово.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *