Как сделать в Unity лево-правое сенсорное управление?

Я пытаюсь сделать простые элементы управления влево-вправо в Unity, но безуспешно ... Я хочу «разделить экран» на две области, как на картинке ниже, чтобы при нажатии на правую половину персонаж двигался вправо влево. . Я надеюсь, что кто-то может мне помочь.

Должно получиться так: Как сделать в Unity лево-правое сенсорное управление?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
1 312
2

Ответы 2

Это зависит от того, на какую платформу вы ориентируетесь. Вам нужно получить ширину экрана в пикселях.

float screenWidth = Screen.width 

Для мобильных устройств вы должны сделать следующее внутри метода обновления.

Touch touch = Input.GetTouch(0);
if (touch.position.x > (screenWidth/2))
 {
   //The User has touched on the right side of the screen
 }else
{
 //The user hase touched the left side of the screen 
}

Чтобы получить эту информацию для немобильной платформы, просто используйте Input.mouseposition вместо Input.GetTouch. Если бы вы также хотели знать, как перемещать игрока влево и вправо, это должен быть другой вопрос. Потому что движение в Unity основано на множестве различных переменных (например, 2D, 3D, физика реального мира и т. д.). Так что, если вам тоже нужна помощь, обратитесь к этой ссылке, которая объяснит несколько простых скриптов движения

Вы можете добавить 2 огромные кнопки, сделать кнопки цветом альфа 0, убрать текст кнопок. Я думаю, это самый простой способ. Якоря могут помочь вам сделать для него автоматическое разрешение.

Другие вопросы по теме