Unity Start M1 L10

Содержание

Слайд 2

Повтор

Повтор

Слайд 3

Сегодня на уроке… Сегодня у нас будет множество небольших дополнений в

Сегодня на уроке…

Сегодня у нас будет множество небольших дополнений в нашу

игру!
Переход между уровнями
Создание двери и ключа
Дополнительно: Бонусы

Новые приключения ждут!

Слайд 4

Переход между уровнями В конце игровых уровней всегда есть переход на

Переход между уровнями

В конце игровых уровней всегда есть переход на следующий
С

реализации именно этой системы мы и начнём!
Слайд 5

Переход между уровнями Для начала выберите 2 сцены, между которыми будет

Переход между уровнями

Для начала выберите 2 сцены, между которыми будет переход
А

так же разместите будущий телепорт где-нибудь на сцене

Мы сделаем переход между этими сценами

Слайд 6

Переход между уровнями Далее, нам нужно выбрать, какие сцены будут в

Переход между уровнями

Далее, нам нужно выбрать, какие сцены будут в нашей

игре
Все сцены, которые мы создаём, сами в игре не появятся. Мы добавляем их в игру вручную
Слайд 7

Переход между уровнями Нажмите File в верхнем левом углу экрана и выберите Build Settings

Переход между уровнями

Нажмите File в верхнем левом углу экрана и выберите

Build Settings
Слайд 8

Переход между уровнями Нажмите File в верхнем левом углу экрана и

Переход между уровнями

Нажмите File в верхнем левом углу экрана и выберите

Build Settings
У вас откроется новое окно, которое отвечает за платформу для которой мы создаём игру и сцены в игре (Scenes in build)
Слайд 9

Переход между уровнями Нас интересует поле Scenes In Build, сейчас в

Переход между уровнями

Нас интересует поле Scenes In Build, сейчас в нём

пусто, а это обозначает, что если мы соберем наш проект в приложение, то в нём не будет сцен и оно сразу выключится
Слайд 10

Переход между уровнями Нажав на кнопку Add Open Scenes вы добавите

Переход между уровнями

Нажав на кнопку Add Open Scenes вы добавите текущую

открытую сцену в финальную сборку вашей игры
Слайд 11

Переход между уровнями Самостоятельная работа Добавьте все сцены, которые у вас

Переход между уровнями

Самостоятельная работа
Добавьте все сцены, которые у вас есть в

финальную сборку игры
Отсортируйте сцены по названию (зажмите и перетащите)
Слайд 12

Переход между уровнями Справа от сцен расположены Id(номер) сцен. При запуске

Переход между уровнями

Справа от сцен расположены Id(номер) сцен.
При запуске приложения

(игры) всегда запускается сцена с id 0
Зная id мы можем отрывать их через скрипт
Слайд 13

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

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

Слайд 14

Для начала мы удалим функции Start() и Update() и обратим внимание

Для начала мы удалим функции Start() и Update() и обратим внимание

на первые 3 строчки, которые автоматически создаются в каждом скрипте
Слайд 15

using – команда, которая подключает дополнительные функции к нашему коду Например

using – команда, которая подключает дополнительные функции к нашему коду
Например using

UnityEngine позволяет использовать все функции в юнити (transform.Translate, Destroy, Start, Update…)

Программа без
using UnityEngine выдаёт много ошибок

Слайд 16

Однако существует ещё множество возможных дополнений и одно из таких using

Однако существует ещё множество возможных дополнений и одно из таких
using

UnityEngine.SceneManagement;
Данное дополнение позволит использовать команды для смены сцены

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

Слайд 17

Часть кода для нас уже знакомая При касании с объектом, проверяем

Часть кода для нас уже знакомая
При касании с объектом, проверяем его

тег, и если тег «Player», то мы загружаем нужную нам сцену

В этой переменной мы будем указывать id сцены, которую нужно загрузить

Загружаем сцену по id, который мы указали в переменной sceneId

Слайд 18

После, добавляем на наш телепорт написанный скрипт, а так же Collider

После, добавляем на наш телепорт написанный скрипт, а так же Collider
В

нашем компоненте OpenScene устанавливаемn id нужной сцены, вспоминая Build Settings

Мы переходим из сцены Scene3 в Scene4, поэтому указываем id Scene4 = 3

Слайд 19

Переход между уровнями Сделали всё правильно? Тогда теперь ваш персонаж может

Переход между уровнями

Сделали всё правильно?
Тогда теперь ваш персонаж может переходить

на следующие уровни!
Самостоятельная работа:
Сделайте порталы на каждом игровом уровне
Доп.: создайте анимацию для портала
Слайд 20

Дверь и ключ Каждый ваш новый уровень должен быть сложнее предыдущего

Дверь и ключ

Каждый ваш новый уровень должен быть сложнее предыдущего
Однако помимо

сложности, вы должны ещё и разнообразить игру, добавляя разные интересные механики и головоломки
Одна из таких механик – это система дверей, которые открываются с помощью ключа

Новые сложности? Так даже интереснее!

Слайд 21

Дверь и ключ Существует множество способов реализовать данную механику: Каждый ключ

Дверь и ключ

Существует множество способов реализовать данную механику:
Каждый ключ открывает

определённую дверь
Один ключ открывает только одну дверь, после использования пропадает
Один ключ открывает все двери
И т.д.
Слайд 22

Дверь и ключ Существует множество способов реализовать данную механику: Каждый ключ

Дверь и ключ

Существует множество способов реализовать данную механику:
Каждый ключ открывает

определённую дверь
Один ключ открывает только одну дверь, после использования пропадает
Один ключ открывает все двери
И т.д.

Мы попробуем реализовать данный способ, так как такие двери можно будет использовать очень интересным способом

Слайд 23

Дверь и ключ Для двери мы создадим отдельный тег “Door” Для

Дверь и ключ

Для двери мы создадим отдельный тег “Door”

Для персонажа мы

создадим скрипт инвентаря, в котором будем хранить подобранные ключи, а так же в нём пропишем логику поднятия ключей и открытия дверей

Для ключей мы также создадим отдельный тег «Key»

Слайд 24

Создайте новый скрипт и назовите его Inventory Если у вас, так

Создайте новый скрипт и назовите его Inventory
Если у вас, так же

как и у нас этот скрипт уже создан, то просто откройте его

У нас тут уже реализована система подбора монеток, не обращайте на неё внимания

Слайд 25

Для начала создадим переменную keys, которая будет сохранять кол-во ключей, которые есть у нашего персонажа

Для начала создадим переменную keys, которая будет сохранять кол-во ключей, которые

есть у нашего персонажа
Слайд 26

Далее создайте функцию OnCollisionEnter2D, для отслеживания коллизии (касания) с ключами и

Далее создайте функцию OnCollisionEnter2D, для отслеживания коллизии (касания) с ключами и

дверьми
Если она у вас уже есть, то пропустите этот шаг, одной функции достаточно
Слайд 27

Затем, создаём 2 проверки, на касание объектов с тегом “Key” и с тегом “Door”

Затем, создаём 2 проверки, на касание объектов с тегом “Key” и

с тегом “Door”
Слайд 28

При касании с ключом, мы будем прибавлять к переменной с ключами

При касании с ключом, мы будем прибавлять к переменной с ключами

+1 и удалять его из игры
Слайд 29

Будьте внимательны! Обращайте внимание на отступы и фигурные скобки При касании

Будьте внимательны!
Обращайте внимание на отступы и фигурные скобки

При касании с дверьми,

мы сначала проверим, есть ли у нас хотя бы 1 ключ (если ключей больше 0), и если это так, то мы вычитаем 1 ключ из переменной, а так же удаляем дверь, которую коснулись

Далее останется только передать этот скрипт игроку, а так же расставить на сцене двери с ключами c соответствующими тегами

Слайд 30

Самостоятельная работа Добавьте на ваши уровни двери и ключи к ним,

Самостоятельная работа

Добавьте на ваши уровни двери и ключи к ним, чтобы

разнообразить геймплей!
Попробуйте сделать небольшую головоломку с ключами
Не забывайте разнообразить ваш уровень и врагами с монетками!
Слайд 31

Дополнительное задание Нужны ли бонусы в вашей игре? Например: временное повышение

Дополнительное задание

Нужны ли бонусы в вашей игре?
Например: временное повышение скорости, или

усиленный прыжок?
Если есть желание попробовать реализовать систему бонусов, то смело переходите по ссылке:
https://drive.google.com/drive/folders/1U95-oDpYpaGc0uAQKVYsIcA1wLlpWt7Q?usp=sharing

Если съесть оранжевый, станешь быстрее…
А для чего красный и белый?