Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 30.08.2019
Сообщений: 30

Unity имеется скрипт MobileController, как сделать вращение персонажа вслед за android джойстиком

02.09.2019, 20:21. Показов 4101. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
 
public class MobileController : MonoBehaviour,IDragHandler,IPointerUpHandler,IPointerDownHandler
{
private Image joystickBG;
[SerializeField]
private Image joystick;
private Vector2 inputVector;// полученные координаты джойстика
 
private void Start()
{
joystickBG = GetComponent();
joystick = transform.GetChild(0).GetComponent();
}
 
public virtual void OnPointerDown(PointerEventData ped)
{
OnDrag(ped);
}
public virtual void OnPointerUp(PointerEventData ped)
{
inputVector = Vector2.zero;
joystick.rectTransform.anchoredPosition = Vector2.zero;
}
public virtual void OnDrag(PointerEventData ped)
{
Vector2 pos;
if(RectTransformUtility.ScreenPointToLocalPointInRectangle(joystickBG.rectTransform,ped.position,ped.pressEventCamera, out pos))
{
pos.x = (pos.x / joystickBG.rectTransform.sizeDelta.x);
pos.y = (pos.y / joystickBG.rectTransform.sizeDelta.x);
 
inputVector = new Vector2(pos.x * 2 - 1, pos.y * 2 - 1);
inputVector = (inputVector.magnitude > 1.0f) ? inputVector.normalized : inputVector;
 
joystick.rectTransform.anchoredPosition = new Vector2(inputVector.x*(joystickBG.rectTransform.sizeDelta.x/2), inputVector.y * (joystickBG.rectTransform.sizeDelta.y / 2));
}
}
 
public float Horizontal()
{
if (inputVector.x != 0) return inputVector.x;
else return Input.GetAxis("Horizontal");
}
 
public float Vertical()
{
if (inputVector.y != 0) return inputVector.y;
else return Input.GetAxis("Vertical");
}
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.09.2019, 20:21
Ответы с готовыми решениями:

Как осуществить поворот персонажа джойстиком (с геймпада) в 2d Unity
Мне нужно сделать управление персонажем 2d вид сверху. Само движение я уже сделал, его можно осуществлять клавой и геймпадом, а как сделать...

Как сделать вращение персонажа за курсором
У меня есть код. В нём отрисовывается определенная картинка, допустим player. Нужно сделать так, чтобы он вращался за курсором мыши, то...

Как сделать прыжок персонажа при нажатии на виртуальную кнопку на unity 3d?
Здравствуйте, скажите, пожалуйста, как мне сделать, чтобы при нажатии на сенсорную кнопку персонаж прыгал? Все это должно быть на unity 3d....

1
 Аватар для zalec
76 / 54 / 22
Регистрация: 03.03.2019
Сообщений: 176
02.09.2019, 22:28
Нужно найти угол между центром джостика и тапом, и затем повернуть на этот угол персонажа.

Добавлено через 1 час 20 минут
C#
1
transform.eulerAngles = Vector3.up * (Mathf.Atan2(joy.Vertical, joy.Horizontal) * 180 / Mathf.PI % 360);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.09.2019, 22:28
Помогаю со студенческими работами здесь

Unity как выполнять скрипт если на сцене имеется обьект с выбранным тегом
Имеется скрипт void OnMouseDown() { if (gameflow.placeCheese == "y" && cheeseObjOnScene == null ) { ...

Unity имеется скрипт и он выдает ошибку
using System.Collections; using UnityEngine; public class topbun_con : MonoBehaviour { void OnMouseDown() { ...

Хочу сделать игру под Android на движке Unity. Как сделать регистрацию пользователей?
Помогите разобраться! Хочу сделать игру под Андроид на движке Unity. Как сделать регистрацию пользователей? Где хранить БД? Пожалуйста...

Вращение объекта по оси Z джойстиком (2D)
Приветствую обитателей форума! Появилась необходимость в реализации функции вращения по оси Z. Адаптировал скрипт под мышь для джойстика,...

Вращение объекта вслед за мышкой
Всем привет! Есть такое задание: надо сделать так, чтобы объект ( в моем случае космический корабль) перемещался вслед за мышкой и при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru