Я пытаюсь сделать простые элементы управления влево-вправо в Unity, но безуспешно ... Я хочу «разделить экран» на две области, как на картинке ниже, чтобы при нажатии на правую половину персонаж двигался вправо влево. . Я надеюсь, что кто-то может мне помочь.
Это зависит от того, на какую платформу вы ориентируетесь. Вам нужно получить ширину экрана в пикселях.
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, убрать текст кнопок. Я думаю, это самый простой способ. Якоря могут помочь вам сделать для него автоматическое разрешение.