2D платформер на Unity: управляем котом с помощью джойстика
Как только появилось немного свободного времени, я продолжил знакомство с Unity 3d. В конечном итоге я хочу создать простенький двумерный (2D) платформер – игру, в которой персонажем можно управлять с помощью джойстика. В этом уроке я расскажу вам, как буквально за несколько минут можно создать персонажа и играть в Unity 3d.
Как обычно, все начинается с нового проекта. Выбираем 2D, создаем и видим бескрайнюю плоскость. Не стоит унывать, вскоре мы её заполним. В папке с проектом находим каталог Assets, в нем директорию Textures –копируем туда три картинки. Главный герой – кот Балун:

Его надо добавить спрайтом (мы потом сделаем его анимированным, если руки дойдут) GameObject -> 2D Object -> Sprite. Плоскость, по которой он будет бегать:

И кнопка (или, точнее, табличка) выхода:

Размеры могут не совпадать, это уж поменяйте сами, как угодно – таскайте мышкой за границы объектов. Далее выбираем GameObject -> Camera. В итоге у нас должна получиться такая вот картинка:

Все прекрасно, кроме того, что все неподвижно. Давайте научим Балуна двигаться. Я сразу же решил делать свой 2D платформер под джойстик, хотя, в принципе, можно заставить джойстик работать с любой игрой – читайте эту заметку – но все же мне интересен сам принцип.
Однако, перед тем, как двигаться, надо сделать наши картинки объектами. Для спрайта с котом добавляем два компонента: Physics 2D -> Rigidbody 2D и Physics 2D -> Box Collider 2D. Тоже самое и для изображения поверхности, только у поля Body Type ставим Static – чтобы платформа не падала вниз под собственной тяжестью:

Вот теперь можно приступать к написанию скрипта для движения. Вот листинг скрипта move.cs (пишем на си шарп):
using System.Collections; using System.Collections.Generic; using UnityEngine; public class move : MonoBehaviour { Rigidbody2D rb; float v = 0.3F; void Start () { rb = GetComponent<Rigidbody2D>(); } void Update () { rb.transform.position = new Vector3 (rb.transform.position.x + Input.GetAxis("Horizontal"), rb.transform.position.y, transform.position.z); } }Этот скрипт применяем на спрайт кота. Однако, для окончательной настройки джойстика, надо добавить еще кое-что. Открываем Project Settings -> Input и меняем и меняем имена обработчиков кнопок джойстика в соответствии с вышеприведенным листингом:

Вот теперь все: нашим котом Балуном можно управлять с помощью джойстика: он будет бегать по платформе вправо-влево. На сегодня пока хватит. Готовый проект с исходниками для Unity 5.5.1 можно скачать здесь. Продолжение следует.

Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.