Как сделать марио в unity 2d

Обновлено: 04.07.2024

Еще один скрипт управления персонажем, заточенный под 2D физику. В отличии от прочих, здесь имеются некоторые настройки. Возможен выбор осей. Например, если выбрать только ось Х, в этом случаи включается режим как для платформера, персонаж может двигаться по горизонтали и использовать прыжок. Если выбрать оси ХY, тогда скрипт переходит в режим как для скроллера, проще говоря, подходит для управления неким самолетом или вроде того, объект может двигаться не только по горизонтали, но и по вертикали, а та-же самая клавиша, что и в первом варианте, на этот раз выполняет роль ускорителя, то есть добавляет скорости. Кроме того, есть опция отслеживания позиции курсора, чтобы персонаж смотрел на него.

speed - скорость движения, как не странно.

addForce - если выбран режим Оnly X, будет использовано для прыжка, при нажатии соответствующий клавиши. Во втором режиме, значение addForce будет прибавлено к speed, тем самым придавая ускорение.

lookAtCursor - отслеживание позиции курсора, персонаж будет вращаться по оси Z. Важно помнить, что лицом считается ось Х.

isFacingRight - если на старте сцены персонаж смотрит вправо, то надо ставить true.

При движении только по горизонтали, разворот персонажа осуществляется через функцию Flip. Так же, чтобы прыжок был возможен, все объекты по которым возможно передвижение, как бы земля/поверхность, у всех них должен быть тег Ground.

Узнайте, как создавать двумерные игры в Unity, используя карты плиток, спрайты, 2D-физику, анимацию и многое другое.

Made with Unity – Night in the Woods от Finji

Made with Unity – Night in the Woods by Finji

Unity — самая популярная в мире платформа разработки двумерных и трехмерных игр: 50% всех мобильных игр созданы в Unity! Теперь пользователям доступна бесплатная версия Unity. Вы получите доступ к платформе разработки 2D-игр и к богатой базе бесплатных ресурсов, созданных нами и энтузиастами из нашего прекрасного сообщества.


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

Unity Creator Kit: 2D-RPG

Unity Creator Kit: 2D RPG

Наборы Creator Kit — это простые игровые проекты, доступные на Unity Learn, которые можно освоить примерно за час. Набор 2D RPG Kit не затрагивает программирование, чтобы вы могли сосредоточиться на изучении Unity Editor и настройке игры в соответствии с вашими идеями и интересами.

The Explorer: набор для 2D-игры от Unity

The Explorer: 2D Kit by Unity

The Explorer: 2D — это коллекция игровой механики, инструментов, систем, графики и других ассетов для разработки двумерных игр. В набор включен пример игры, созданной с использованием этих систем. Этот проект можно освоить за пару часов, и вам не потребуется писать ни единой строчки кода.

Проект 2D-игры от Unity: Ruby’s Adventure

Unity 2D game project: Ruby’s Adventure

Ruby's Adventure — это проект, который познакомит начинающих разработчиков с процессом создания и программирования 2D-игры. В путешествии с Руби вы узнаете, как и зачем использовать спрайты, как создать первый скрипт, научитесь работать с инструментом Tilemap, украшать сцену, создавать эффекты частиц, пользовательский интерфейс, звуковое оформление и многое другое.

Советы по 2D-графике от сообщества Unity


Thomas Brush: советы по разработке 2D-игр

Канал Thomas Brush богат практическими советами и вдохновляющими идеями. Начните с видео 5 steps to making a gorgeous 2D game и Anyone can make 2D games!


Но я получил такую ​​ошибку:

IndexOutOfRangeException: индекс массива вне допустимого диапазона. spawnScript.addEnemy () (в Assets / Scripts / spawnScript.cs: 21)

Ниже мой сценарий:

Вот в чем проблема: public Transform[] spawnPoints;

В spawnPoints переменная объявлена ​​как общедоступная, что означает, что вы хотите заполнить ее через редактор. Вы не смогли этого сделать, и размер все еще 0. Когда размер 0 , Random.Range сделаю это Random.Range(0,0) и вернется 0 . Когда вы кормите 0 в качестве индекса spawnPoints переменная, она выдаст эту ошибку, потому что в ней ничего нет spawnPoints . Вы должны установить размер.

Вот как это выглядит сейчас:


Вот как это должно выглядеть:


Обратите внимание, как я перетащил трансформации в spawnPoints слоты массива на моем втором скриншоте. Если вы этого не сделаете, ожидайте получить NullException ошибка.

Если вы не хотите получать эту ошибку, не задав размер, проверьте, не spawnPoints.Length > 0 перед его использованием.

Сделав spawnPoints а public предполагается, что вы хотите установить size от редактора. Вы также можете установить size из сценария, но сделайте это private сначала переменная, чтобы у вас не было проблем:

Для более детально изучения основных возможностей построения платформенной игры в среде Юнити pro, нужно понимать общее понятие сути платформера.

Платформер (Platformer) – направление компьютерных игр определённого жанра, основной сюжетной линией является прыгание по платформам, взбирание по лестницам, а так же сбор необходимых предметов для завершения уровня. Некоторые с предметов могут наделять персонажей особыми навыками, примеры:

Пример платформера

  • Сила удара;
  • Защитный щит;
  • Огромные прыжки и скорость.

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

Пример платформера Android

Уровни, как правило, разбиты на сектора со скрытыми подходами в стенах или высокими, труднодоступными местами. Такого рода ступени игры характерны нереалистичностью и рисованной графикой.

Что бы закрепить и лучше усвоить информацию, создадим игру для системы Android.

Предварительная настройка под Android

Перед тем как уже сформирована суть и есть примерные наброски сюжета нужно сделать вход и настройку системы:

Создание 2D проекта

Редактор платформера

Поиск и подготовка компонентов

Следующим будет поиск в сети Интернет понравившееся картинки главного персонажа и платформы, и шагаем вперёд:

Настройка главного персонажа

Обучение процесса перемещений

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

Первый скрипт программы

Обучение процесса прыжков и вид сопровождение камеры

Что бы задать движения в виде прыжков, нужно зайти в тот же текстовый редактор, где заданы значения перемещений, и прописать:

  • Добавляем новую проверку if (Input.GetKeyDown) (KeyCode.Space)), таким образом задана клавиша Spaces (Пробел) для привода прыжка;
  • Следующее значение задаст силу толчка rb.AddForce (Vector2.up * 8000).

Добавление прыжка персонажу

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

Скрипт для камеры

-10ft выставляется для значения Z, что бы герой не вращался в пространстве.

  • Теперь кликаем на Main Camera и перетаскиваем ссылку на игрока к скрипту Cam Move.

Свойство камеры

Что бы объект ни перемещался по одной платформе, её стоит продублировать:

Таким простым способом созданный прифаб можно копировать, создавая большее игровое пространство и увеличивая уровни сложности. Для клонирования выполняется комбинация Ctrl+D.

Создание точки старта

При компоновке всех частей созданного проекта, иногда возникает вопрос с обратным прохождением уровней с определённой точки. Это так называемая точка старта, откуда игрок, может восстановиться и продолжить игру. Если не задать таких параметров, то предмет, например, в случаи падения с платформы, может падать бесконечно. Для её создания понадобится:

Объект Respawn

Закрепить созданную точку нужно с помощью скрипта:

Скрипт DieSpace

Тест созданной игры

В заключении можно выделить то, что созданный 2Д платформер работает. Здесь нет сложного сюжета, но представлены базовые возможности:

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