Я безрезультатно пытаюсь смоделировать аналоговый джойстик с помощью клавиш только в новом пакете настроек 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;