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

    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 комментарий