1.44M
Категория: ПрограммированиеПрограммирование

5

1.

ligarobotov.ru
Федеральная сеть
секций робототехники
«Лига Роботов»
[email protected]
8(391)272-10-40
© «Лига Роботов», Красноярск 2023

2.

Повторение
Что такое пользовательский опыт?
Зачем нужен Filled в параметре Image Type?
Что делает код ниже?
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

3.

Задание 1
1.
Создайте целочисленную переменную с
модификатором [SerializeField] и назовите её Minutes,
чтобы мы могли из редактора изменить количество
времени (пусть по умолчанию будет равно 3).
2.
Каждый раз, когда couter достигает 50, количество
секунд уменьшается.
3.
Сделать, чтобы время убывало правильно
(количество минут уменьшается на 1 каждые 60 секунд)
4.
Когда время истечёт, остановить игру и обнулить
таймер.
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

4.

Ответ
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

5.

Анимация часов
1. Создайте UI -> Image дочерний объекту
TimeImage
и
назовём
его
transparent_TimeImagе. Оставляем привязку
якорей по центру.
2. В параметр Source Image перетаскиваем
спрайт часов.
3. В параметре Color меняем прозрачность в
настройках альфа-канала примерно на 80.
4. Проверьте, чтобы размеры основного и
дочернего спрайта совпадали.
5. В параметрах TimeImage меняем Image Type
на filled, Fill Method на Radial 360, Fill Origin на
Top, а также убираем галочку с Clockwise.
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

6.

Задание 2
1. Создайте переменную [SerializeField] Image
Clock, в которую вы запишем TimeImage, а также
переменную private float t;
2. Создайте метод private void ClockAnimation().
3. Вызываем метод при достижении counter
значения 50.
4. В методе ClockAnimation запишите
следующее:
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

7.

Ответ
Прикрепляем
Должно получиться так:
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

8.

Задание 3
1. Создайте новую сцену MainMenu.
2. Добавьте заголовок и декорации.
3. Создайте 2 кнопки (UI -> Leagcy -> Button):
кнопка старта,
кнопка выхода.
4. В скрипте ButtonController написать методы
для кнопок.
Можно использовать
button.png
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

9.

Ответ
Что-то вроде этого
StartButton
ExitButton
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

10.

Ответ
Порядок сцен в Build Settings
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

11.

Меню паузы
В скрипте ButtonController:
Создайте кнопку и панель
Для PauseButton
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

12.

Задание 4
В панели создать 3 кнопки: продолжить, перезапустить, выйти в главное меню.
Продолжить должна изменить Time.timeScale обратно на 1 и скрыть панель
паузы. Для этого создайте метод public void ContinueTheGame().
Для перезапуска можно использовать метод SwitchScene(), однако нам нужно
передать туда номер текущей сцены. Это можно сделать так:
Для выхода в главное меню используется метод SwitchScene().
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

13.

Ответ
Кнопка продолжить
Кнопка перезапуска
Кнопка выхода в меню
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

14.

Задание 5*
1. В Canvas создайте Empty Object и назовите его
gameInterface
2. В иерархии перетащите все элементы интерфейса
в него, чтобы те стали дочерними объектами
3. Поставьте такой якорь у объекта gameInterface.
4. Создаём еще одну переменную GameOject в
ButtonController, куда нужно закинуть пустой объект
При появлении меню паузы, интерфейс должен
пропасть и наоборот
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

15.

Ответ
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

16.

Рефлексия
ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023

17.

ligarobotov.ru
© Федеральная сеть секций робототехники «Лига Роботов», Красноярск 2023
English     Русский Правила