Путь разработчика    

Как сделать джойстик для Android и IOS в Unity 5

В этом уроке мы разберем, как сделать джойстик в Unity 5, работающий на всех платформах, включая Android и IOS. Для начала имеем: пустой проект и Canvas на нем. Если вы не знаете, что такое Canvas, или не разобрались в нем (например, не знаете как сделать масштабируемость интерфейса), то рекомендую посмотреть урок по созданию главного меню для того, чтоб лучше в этом разобраться.

Canvas мы переименуем как MobileInputCanvas и создадим на нем Image, который назовем JoystickHolder, выберем ему необходимый размер (изменив width и height свойства), а так же поставим его в нужное место. В Image мы выберем нужный спрайт, если у вас есть заготовки для спрайтов под джойстик и место, где от будет кататься, а если нет, то можете выбрать уже готовый круг. Для этого необходимо выбрать нужный нам объект Image и выбрать св-во Source Image. Далее в Unity уже есть картинка Knob, нужно выбрать именно её. Следующим мы создадим в JoystickHolder еще один Image, который назовем Joystick и проделаем с ним те же действия, но поменяем ему размер на более меньший. А так же нужно перекрасить наши круги в необходимые для вас цвета. В конце этих действий получиться что-то похожее на это:

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

Python

Далее создадим класс JoystickController, который мы повесим на наш Joystick Holder, чтобы тот начал передавать значения в наш статический класс.

Python

Стоит разобраться с тем что такое IDragHandler и IEndDragHandler, это интерфейсы, которые вызываются при соответствующем событии отностительно курсора. Например, IDragHandler вызывается, когда курсор двигается, а IEndDragHandler когда передвижение заканчивается. Все эти интерфейсы находятся в области имен UnityEngine.EventSystems.

В итоге при нажатии и движении в области джойстика, джойстик автоматически переходит под палец и мы начинаем им управлять, изменяя значения в статическом классе. На этом разбор того, как сделать джойстик в Unity 5 закончен.



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Введение в потоки Thread в Java

В чем разница между Reader и InputStream в Java Процесс представляет собой экземпляр выполняемой компьютерной программы. Процесс может выполняться процессо...

26 02 2020 13:52:28

События флеш-кликов в C#

Если кнопка запускает длинную задачу, вы, вероятно, не хотите, чтобы пользователь мог снова нажать кнопку (или, возможно, ничего в приложении), пока задача...

25 02 2020 10:17:55

Как реализовать «enum» в Python

Enum представляет собой набор символических имен , связанных с уникальными, постоянными значениями. В пределах перечисления значения могут сравниваться по...

24 02 2020 5:47:49

PHP 5 для начинающих (Дэйв У. Мерсер, Аллан Кент, Стивен Д. Новицки)

Эта книга представляет собой подробное учебное пособие для желающих освоить современную версию PHP. В книге описывается установка и конфигурирование PHP, о...

23 02 2020 11:34:37

Как рассчитать разницу дат в Java

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

22 02 2020 9:13:15

Выберите разрешение принтера в C#

В этом примере показано, как разрешить пользователю выбирать разрешение принтера. Когда вы устанавливаете принтер объекта PrintDocument, его коллекция Defa...

21 02 2020 18:29:38

Формы размера, чтобы соответствовать их содержимому в C#

В этом примере показано, как размер форм подходит для их содержимого. Выяснить, как форматы размера могут быть сложными, особенно если форма содержит MenuS...

20 02 2020 13:10:59

Ассемблер - это просто. Учимся программировать. (Калашников О. А.)

Подробно и доходчиво объясняются все основные вопросы программирования на ассемблере. Рассмотрены команды процессоров Intel, 16- и 32-разрядные регистры, о...

19 02 2020 8:44:50

Объясните методы split () модуля «re» в Python

Модуль «re» в Python обеспечивает операции согласования регулярных выражений, аналогичные тем, которые были найдены в Perl. Оба шаблона и строки для поиска...

18 02 2020 23:59:54

Отображение предопределенных значков системы в C#

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

17 02 2020 21:21:59

Как нарисовать пронумерованные круги и сохранить их в файлах на C#

Иногда мне нужно рисовать пронумерованные круги для размещения на изображениях, которые я буду использовать в книгах или статьях. Эта программа позволяет м...

16 02 2020 19:32:48

Как открыть файл PDF в C#

Во время разработки я добавил в форму элемент WebBrowser. Когда программа запускается, он использует следующий код для открытия PDF-файла в элементе управл...

15 02 2020 1:31:24

Класс Java Scanner

Класс Java Scanner - это класс в пакете Java.util, который позволяет пользователю считывать значения различных типов. Это простой текстовый сканер, который...

14 02 2020 16:33:59

Получить операционную систему компьютера в C#

В этом примере используется следующий код для отображения версии операционной системы при ее запуске. Этот пример просто получает объект System.Environment...

13 02 2020 18:52:52

Среда разработки Xcode

Xcode – IDE под Mac OS от Apple. Распространяется бесплатно через App Store. Благодаря свободному набору компиляторов данная среда разработки может работат...

12 02 2020 4:52:54


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69