@SkyCrusher

Как разделить экран пополам для ввода с Android устройств?

Задача такая: разделить экран девайса так, что, если нажимаешь слева, условный шарик прыгает, а, если справа - ускоряется. Что и как для этого использовать. Если можно побольше ссылок и примеров кода. Заранее благодарствую)
  • Вопрос задан
  • 590 просмотров
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
что ж.
для начала Input - https://docs.unity3d.com/ScriptReference/Input.html

про половины экрана есть два варианта
1) невидимые кнопки (удобно потом менять позицию и размер)
2) отследить координаты нажатия мышки (тача)

1) вариант. читайте про Canvas и вообще примеры работы с ним
https://unity3d.com/ru/learn/tutorials/s/user-inte...
собственно сделать две Button и в событие OnClick проставить требуемое.
(просмотрите уроки - станет понятно, очень все тривиально)
проблемно будет если вы захотите ставить сразу несколько пальцев на экран - юнити обычно просто берет среднюю позицию.

2) вариант не такой гибкий в плане правки позиций), но куда проще в плане доработок и свои придумок.
приблизительно так.

private Rect leftPart = new Rect(0, 0, Screen.width / 2, Screen.height);
    private Rect rightPart = new Rect(Screen.width / 2, 0, Screen.width / 2, Screen.height);
    // Update is called once per frame
    void Update () {

        if(Input.GetMouseButton(0))//touch works too
        {
            if(leftPart.Contains(Input.mousePosition))
            {
                //jump
            }
            if(rightPart.Contains(Input.mousePosition))
            {
                //force
            }
        }

возможно придется под мультитач переделывать (https://docs.unity3d.com/ScriptReference/Input.Get...
по сути брать не позицию мышки, а позицию тача.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Nuril
Коротко про 1 вариант из прошлого ответа: https://youtu.be/QnT-2KxVvyk?t=302
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы