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

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

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

Author24 — интернет-сервис помощи студентам
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.09.2019, 20:21
Ответы с готовыми решениями:

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

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

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

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

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

Добавлено через 1 час 20 минут
C#
1
transform.eulerAngles = Vector3.up * (Mathf.Atan2(joy.Vertical, joy.Horizontal) * 180 / Mathf.PI % 360);
0
02.09.2019, 22:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.09.2019, 22:28
Помогаю со студенческими работами здесь

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

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

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

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

Как сделать Swipe в unity, как в android?
Здравствуйте! как можно сделать swipe как в android для unity!

Имеется база данных MySQL (с сайта), в ней данные о товаре, как проще всего сделать онлайн Android-приложение
Имеется база данных mysql(с сайта), в ней данные о товаре. Как сделать онлайн андроид приложение...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru