Файл: Задание на учебную практику по модулю уп. 02 для студентов 2 курса.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.10.2023

Просмотров: 21

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Задание на учебную практику по модулю УП.02 для студентов 2 курса

Создать три сцены, которые изображены на скриншотах (так же их иерархия)

Ниже показано как создавать сцену, по аналогии создаются остальные.

Сцена Students





Сцена CreateTest





Сцена WorkUsers





Включение подсказок в Visual Studio от Unity

Заходим в Preferences



Открываем External Tools



Выбираем Visual Studio



Ставим везде галочки



Перезапускаем Visual Studio, если оно у нас открыто. Запускаем его через скрипт двойным нажатием на лкм.

Создание сцены

Будем создавать сцену CreateTest.

Создадим canvas



Вместе с canvas у нас на сцену добавляется EventSystem, он нам нужен для использование GUI button, чтобы срабатывало событие.



Настраиваем camera у canvas для правильного отображения







Теперь переносим нашу камеру в RenderCamera




Так же нам нужно настроить разрешение экрана

Заходим в game



Ставим Full HD (1920X1080)



Создадим бэкграунд на нашей сцене

Создаём panel в canvas



Убираем прозрачность и ставим нашу картинку с бэкграундом



Создадим ещё одну панель и назовём её Panel_work_kontrol_z, сделаем её прозрачной.



Создадим три table и поставим им спрайт

Так же объект является у нас panel.





Создадим две кнопки



Первую называем btn_back и удаляем текст





Ставим ей изображение кнопки



Создаём вторую кнопку btn_provarka

Ставим ей спрайт и меняем надпись.



Создадим таблицу с блоками



Внутри таблицы создаём кнопку и удаляем текст, ставим спрайт блока





Так же делаем с остальными

Должно получиться вот так




Дальше сделаем таблицу с добавлением описания к заданию



Добавим текст “ЗАДАНИЕ”





Далее мы добавляем Input, чтобы записывать туда наше задание

Так же его обязательно нужно назвать text_test



Убираем фон, настраиваем текст



По аналогии вместо Input делаем обычный label и называем так же.

У нас должна получиться вот такая сцена



Иерархия сцены



Создание префабов

Префабы, которые нам нужно будет создать.

Префаб каждого блока, пример его создание и его компоненты, по аналогии создаются другие.



Пустой объект и внутри него спрайт



Добавляем Box Collider и создаем Layer – block, так же создаём Tag – Destroyed



Нажимаем на иконку Edit Collider и настраиваем Collider



Так делаем со всеми префабами



Настройки для спрайта



Дальше делаем префабы для того, чтобы добавлять текст (input) и сам текст, который будет добавляться на префаб кнопки.



Создаём пустой объект в него добавляем



Называем его input




В нём создаем InputField







Так же создаём текст:

Создаём пустой объект



Даём ему название text



В этот объект добавляем Text





Теперь в объекте text, мы добавляем компонент Canvas, в котором настраиваем Order in Layer – 5

Далее main камеру мы подключим через код в canvas



В canvas и так же делаем в сцене CreateWork:



Настраиваем order in Layer



Так же нужен будет префаб линии между блоками

Создаём пустой объект



В него добавляем компонент Line Renderer и настраиваем по скринам





Это свойство отвечает за толщину линии и на скриншоте оно не на нуле



Обязательно ставим материал, который указан на скриншоте



Теперь есть все необходимое и можно перейти к написанию скриптов, чтобы это всё работало.

Создаем основной скрипт BlockManadger

Для начала подключаем все библиотеки, кроме последней она нам нужна будет немного позже.




Добавляем переменные, которые мы будем инициализировать через unity, позже мы это сделаем.



Добавляем вспомогательные переменные



Добавляем код для создания:







Метод для добавления текста







Метод обновления



Метод сохранения уровня:







Теперь добавляем вспомогательный скрип (файл), где будем сохранять наши данные, а потом сохранять их в файл LevelStructs.cs





Ещё нужен будет скрип, который при запуске сцены будет добавлять в TMP_TEXT (UI TEXT) название уровня GetTest.cs



Так же будут нужны скрипты для кнопок

ZadanieManadger.cs

StudentManedger.cs