Новые настройки ввода Unity как имитировать аналоговый джойстик с помощью клавиш - PullRequest
0 голосов
/ 09 июля 2020

Я безрезультатно пытаюсь смоделировать аналоговый джойстик с помощью клавиш только в новом пакете настроек Unity. Это мой код, который почти работает, за исключением того, что Vector2.zero приводит к неправильным начальным значениям, потому что следующие условные выражения усредняются с использованием значений.

Я хотел бы установить input на направления NW, SE и c при нажатии соответствующей комбинации кнопок. Кроме того, основные направления должны быть установлены правильно, когда нажата только одна кнопка.

Это есть, но мне не удалось заставить его работать:

https://docs.unity3d.com/Packages/com.unity.inputsystem@1.0 /manual/HowDoI.html#use-a-positive-and-a-negative-button-to-drive-an-axis

            Vector2 input;
            input = Vector2.zero;
            if (_Keyboard.aKey.isPressed) input = (input + Vector2.left).normalized;
            if (_Keyboard.dKey.isPressed) input = (input + Vector2.right).normalized;
            if (_Keyboard.wKey.isPressed) input = (input + Vector2.up).normalized;
            if (_Keyboard.sKey.isPressed) input = (input + Vector2.down).normalized;

1 Ответ

0 голосов
/ 09 июля 2020

Нашел ответ в этом видео .

См. Измененный код ниже:

                input = new Vector2();
                if (_Keyboard.aKey.isPressed) input.x -= 1;
                if (_Keyboard.dKey.isPressed) input.x += 1;
                if (_Keyboard.wKey.isPressed) input.y += 1;
                if (_Keyboard.sKey.isPressed) input.y -= 1;
                input.Normalize();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...