[Урок по unity] Управление 2D персонажем в unity Создание прыжка и движения

Автор Andrei Golubev
[Урок по unity] Управление 2D персонажем в unity Создание прыжка и движения

всем привет сегодня я вам покажу как можно нарисовать передвижения 2D персонажа я сейчас.

Вы можете видеть тот результат который у нас получится тут вы можете настроить силу прыжка по X и Y также можете настроить скорость движения вашего персонажа. Ну в общем давайте перейдем уже к сути и так для начала. Давайте посмотрим на нашу сцену у меня тут есть игрок который представлен в виде вот такого вот.

Спрайт он также есть земля на игроки.

Арина земле все компоненты типа зажигание Box Collider. Ну думаю — это всё понятно и так также на объекте персон у меня висит два скрипта — это контроллер эпперсон мы сейчас придём и так как у нас всё будет работать у нас будет Script Controller который я вам уже показывал он будет содержать в публичные методы 2 Left Right I jump также будет скрипт персон который будет такие методы вызывать. То есть если нажато допустим кнопка называется метод. Фрейд и так далее. И зачем мы всё так усложняет усложняем и всё так для того чтобы в дальнейшем не дубли кот. Потому, что если вы делаете платформе то у вас скорее всего — это вот и и вот эти боты будут также двигаться влево вправо и прыгать и на них мы просто повесим вот этот скрипт и сидим там ещё какой-то отдельный скрипт который будет отвечать за логику этих ботов и этот отдельные как раз таки и будут вызывать вот таким методом of Right Left и так далее собственно. Вот для этого для этого мы всё так и усложняем чтобы просто в дальнейшем использовать вот этот скрипт контроля своих же целях, но теперь давайте перейдем коду и так давайте для начала в классе персон мы с вами объявим действующие переменные. А нам тут понадобится всего лишь одна переменная. Это ссылка на объект контроллером я её сделала приватный так обычно нам тут будут не нужны и ещё поменьше её как сервировать Field также в классе контрольных. Давайте объявим другие переменные. Так значит нам понадобится публичная переменная типа float — это у нас будет скорость бега. Ну и не скорость ходьбы и также нам понадобится табличной переменной и того же типа — это сила прыжка по оси X и Y собственная если вам — это не нужно то можете сделать всего лишь одну, но я ищу сделать так чтобы прыжок можно было настраивать по двум осям. Как далеко игрок полететь по оси X. И как далеко пролетит он по оси Y. Теперь давайте перейдем к приватным переменным — это у нас тут первых. Во вторых transform сразу сделаем такую переменную. Чтобы в дальнейшем нам не мучаться инициализацией. Давайте сразу объявим несколько перечислений во-первых — это Direction собственной если вы не знаете, что такое и нам перечисления то посмотрите информацию — это всё довольно легко. Ничего сложного тут нет и. Давайте ещё одно перечисление сделаем назовем его State — это у нас будут перечисления состояний здесь у нас будет стенд стоять Walk то есть идти ijump то есть прыгать эти перечисления перечисление на в дальнейшем понадобится чтобы различать.. Где мы находимся. Ну и конечно же объявляем для вот этих впечатлений и соответствующие переменные ещё я сразу же объявлю публичные переменные Move Left Right I jump в методе. Старт мы будем инициализировать нашу переменные собственная тут всё я думаю так же ещё Direction я сразу поставлю direction. лифт по стандарту нас игру будет идти сразу налево. Ну, а теперь давайте перейдем к заполнению методом of Left во-первых делом проверку не равно не ношу состояние стоит. — это нужно для того чтобы наш персонаж не мог ходить в воздухе отдали. А если мы не находимся в прыжке то, тогда переключаем наше состояния на ходьбу и также переключаем Direction No Direction лифт, а ещё я добавлю одну приватную переменную типа float объясню. Зачем оно нужно чуть позже назову я её Time Walk что-нибудь такого то есть время одного шага 1 ходьбы и так сказать. Ну объясню позже. Зачем она нам нужна и так, что мы теперь будем делать мы будем делать ничего не будем делать так. Ну, а теперь в методе muffled мы переменной Time Travel назначенные 0,2 зачем — это нужно я объясню чуть попозже. Ну и всё. Вот — это скопирована метод муфрад только некоторое значение мы изменим и так теперь перейдем к методу фикситаб дейт во-первых. Вот здесь мы если стоит равно банк. То есть если мы сейчас находимся в состоянии ходьбы то, что мы будем делать объясню чуть попозже для начала давайте мы тут объявим приватный метод волк который еблом вызывает fixed update и так в итоге мы будем двигать нашего персонажа есть такое такая перемена как velocity — это значение обозначает скорость то мы будем прямо и скрипта изменять скорость нашего объекта для этого — это твоё мы будем передавать направление движения — это переменная. Директ и умножаем и он спит теперь вернемся в метод fixed апдейт бланк проверять. Если Direction равно direction. лифт. То есть если мы движемся налево чтобы он вызывает метод. Волк и передавать туда Vector 2.. Иначе если мы движемся направо то мы будем вызывать этот метод и передавать туда Vector 2.. Теперь давайте создадим ещё приватный метод стенд в котором мы будем переключать наше состояния настей. стенд то есть мы сейчас стоим, а во-вторых будем обнулять вектор скорости так, но теперь давайте в метод фиксатор Data добавим и проверку estime unwelcome. Вычитать time. the end of Time и если там.

0 комментариев
0

Читайте также