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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегистатьи IT, Unity3D, си шарп, джойстик, платформер




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Что такое база данных?
Помогите сайту
Создание помощника в преферанс. Этап первый: план разработки