Применим наш скрипт к черному кружку

Система управления. Часть 1.

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

Конечно, когда мы говорим о жанре платформер, тем более в 2D играх, то система управления здесь реализуется на порядок проще, чем в более крупных 3D играх, к тому же, Unity предлагает множество уже готовых решений и все, что вам требуется – только правильно их использовать.

В Unity скрипты - это особый тип компонентов . Вы можете добавить их в GameObject, и любое поведение, которое вы в нем кодируете, будет применено к этому GameObject.

Откройте папку Scripts и создайте новый файл и назовите его BlackController

Дважды щелкните по созданному скрипту

Давайте рассмотрим, что внутри

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

Public class BlackController : MonoBehaviour ( строки с 5 по 18)

 «Класс» означает, что вы определяете новый компонент . В этом случае он называется BlackController. Все, что находится между открывающими фигурными скобками, которые начинаются после этой строки, и той, которая находится в конце файла, является частью вашего компонента.

void Start (){} (строки с 8 по 11)

Unity выполняет код внутри Start только один раз при запуске игры.

void Update (){} (строки с 14 по 17)

Unity выполняет код внутри Update каждый кадр. Чтобы создать впечатление движения, игра (как и фильм) - это неподвижные изображения, которые показываются с высокой скоростью. Обычно в играх за одну секунду показывается 30 или 60 изображений. Каждое из этих изображений называется frame. Перед созданием этого изображения Unity выполняет код, написанный в функции void Update сех ваших GameObject .

В этой void Update вы напишете все, что вы хотите, чтобы постоянно происходило в игре (например, чтение ввода от игрока, перемещение GameObject или подсчет времени).

Напишем первый скрипт движения по горизонтали.

И нажмем Ctrl + S

В первой строке вы объявили переменную с именем Position и сохранили в ней текущую позицию объекта.

Vector2 position = transform.position;

Первое слово перед именем переменной, Vector2 , - это тип переменной. Типы сообщают компьютеру, какие данные вы хотите сохранить, чтобы он мог получить нужный объем памяти. Vector2 - это тип данных, в котором хранятся два числа. Помните значения Transform в Инспекторе, которые используют x для горизонтального положения, y для вертикального положения и z для глубины . Эти 3 числа образуют координату. Поскольку эта игра является двухмерной , вам не нужно сохранять положение оси Z , поэтому вы можете использовать Vector2 здесь только для хранения позиций x и y .

Transform - это тоже переменная (созданная Unity , а не вами), которая содержит компонент Transform в GameObject , на котором работает скрипт.

Во второй строке , как и в первой, вы использовали точку для доступа к вещам, «содержащимся» в другом:

position.x = position.x + 0.1f;

Vector2 - это два числа, поэтому он «содержит» x и y . Здесь вы получаете доступ к значению x , которое является горизонтальным положением .

Чтобы сместить GameObject немного вправо, вы добавили 0,1 к значению x и сохранили результат обратно в x .

Теперь, сохраненная в переменной позиции в памяти, у вас есть координата x, которая находится на 0,1 единицы вправо (положительные значения перемещают GameObjects вправо, а отрицательные значения перемещают их влево).

В третьей строке вы сохранили эту новую позицию внутри позиции Transform :

transform.position = position;

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

Применим наш скрипт к черному кружку

Выберите GameObject своего персонажа , затем перетащите новый скрипт в Инспектор . Либо нажмите кнопку « Добавить компонент» в инспекторе и найдите BlackController (каждый новый скрипт - это новый компонент).

Нажмите кнопку play

Что произошло?

Попробуйте поменять скорость нашего объекта. Что для этого нужно сделать?

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


Дата добавления: 2021-07-19; просмотров: 51; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!