Я создаю контроллер JetPack (мобильный), где левый джойстик используется для управления движениями вперед и назад, а правый джойстик используется для управление вращением и движениями вверх. Я хочу, чтобы игрок поднимался вверх, когда пользователь касался правого джойстика, даже если горизонтальный & & вертикальные оси возвращают ноль. Поэтому, если есть палец на правый джойстик, игрок идет вверх, подобно GetButton или GetKey (некоторый keycode).Unity 5: Как узнать, находится ли палец на джойстике, даже если он находится на горизонтальном и вертикальном нуле
0
A
ответ
1
Надеется, что это помогает кто-то в будущем:
я узнал, есть OnPointerUp и OnPointerDown метода, которые могут быть использованы для проверки, если джойстик нажат или нет. Самый простой способ использовать их - изменить несколько вещей в стандартном активе> Утилита> Joystick.cs. Вот как выглядят эти методы после моих модификаций:
public void OnPointerUp(PointerEventData data)
{
transform.position = m_StartPos;
UpdateVirtualAxes(m_StartPos);
if (data.rawPointerPress.name == "MobileJoystick_right") {
rightJoystickPressed = false;
}
}
public void OnPointerDown(PointerEventData data) {
if (data.pointerEnter.name == "MobileJoystick_right") {
rightJoystickPressed = true;
}
}
Так что в основном я просто добавил инструкции If. Теперь я могу получить доступ к rightJoystickPressed boolean из любого другого скрипта, чтобы проверить, нажат ли джойстик, даже если он не перемещен.
Смежные вопросы
- 1. Не удается найти DBI.pm, даже если он находится на пути
- 2. Как узнать, находится ли элемент на экране?
- 3. позиция удержания на джойстике
- 4. Как узнать, находится ли положение на дороге или на тротуаре?
- 5. Appium, Java, iOS: как узнать, видимо ли элемент, если он не находится на переднем плане
- 6. Обнаружить, если экран HMD находится на
- 7. Как узнать, какое устройство находится на сайте?
- 8. AngularJS: как избежать этого поведения, когда data.length находится на нуле?
- 9. Как узнать, что находится на месте?
- 10. узнать, на какой странице iframe находится на
- 11. Должен ли я вызвать Close на HttpWebResponse, даже если он находится внутри оператора using?
- 12. Как узнать, находится ли значение в deque?
- 13. Как узнать, находится ли он в бесшумном режиме?
- 14. iPhone tweak - как узнать, находится ли пользователь на главном экране?
- 15. Как узнать, находится ли строка внутри массива на Android?
- 16. Метод действия не найден - даже если он находится в контроллере
- 17. узел не распознается, даже если он находится в PATH
- 18. Как узнать, находится ли пользователь в index.html?
- 19. Как узнать, находится ли JFrame на экране в многоэкранном окружении
- 20. Значение не отображается, даже если он находится в HTML
- 21. на экранном джойстике в единстве 5
- 22. Получение «geb.navigator.EmptyNavigator нет», даже если элемент находится на странице
- 23. Как узнать, находится ли игровой игрок поблизости?
- 24. Как я могу узнать, находится ли мой маркер на улице
- 25. Как узнать, находится ли указатель мыши на элементе HTML?
- 26. Как узнать, находится ли приложение на переднем плане или нет?
- 27. Как заставить мой узел вращаться, даже если мой палец находится за пределами узла?
- 28. Как узнать, находится ли пользователь в кассе?
- 29. Как узнать, находится ли мышь внутри окна?
- 30. Как узнать, находится ли объект (смерть) в единстве?
Я смущен. Является ли это физическим контроллером или элементами пользовательского интерфейса, которые функционируют как элементы управления? Если мы говорим об элементах пользовательского интерфейса, просто добавьте какую-то публичную функцию в ваш класс джойстика, который возвращает true при выборе джойстика. – bpgeck
Да, мы говорим об элементе пользовательского интерфейса, а не о физическом контроллере. Проблема в том, что я не могу найти какой-либо метод для возврата true, если есть палец на джойстике. Например, Input.GetAxis («HorizontalRotate») возвращает значение 0, даже если на джойстике нет пальца, поэтому я не могу его использовать. Input.GetButton («HorizontalRotate») возвращает false независимо от того, что. – Jonathan