Джойстик вводит только объект по диагонали

У меня проблема с использованием единственного скрипта джойстика в Unity.

Я использую приведенный ниже скрипт для перемещения вертолета через жесткое тело. Когда я тестирую игру в единстве с клавишами со стрелками, все работает отлично, как и ожидалось. Однако, если я проверю это на телефоне, вертолет перемещается только по диагонали от нижнего левого к верхнему правому углу.

Я уверен, что это связано с тем, как я прикрепляю джойстик к оси X и Y, но я не могу обнаружить свою ошибку... Кто-нибудь может взглянуть на это свежим взглядом и сказать мне, где я облажался?

    #pragma strict

var speed : float = 500.0;
var smooth : float = 2.0;
var gravity : float = 0.0;
var moveJoystick : Joystick;


    function FixedUpdate () {

    var horPos = Input.GetAxis ("Horizontal") ? 
                   Input.GetAxis ("Horizontal") : joyStickInput(moveJoystick);
var verPos = Input.GetAxis ("Vertical") ? 
                 Input.GetAxis ("Vertical") : joyStickInput(moveJoystick);


    var movedirection = new Vector3(horPos, 0, verPos);

if (movedirection != Vector3.zero){
        var newRotation = Quaternion.LookRotation(movedirection * -1);
        transform.rotation = Quaternion.Slerp(transform.rotation, newRotation,     Time.deltaTime * smooth);
        }
    rigidbody.AddForce (movedirection * speed * Time.deltaTime);
     }

    function joyStickInput (joystick : Joystick) {
   var absJoyPos = Vector2 (Mathf.Abs(joystick.position.x),
                               Mathf.Abs(joystick.position.y));
   var xDirection = (joystick.position.x > 0) ? 1 : -1;
   var yDirection = (joystick.position.y > 0) ? 1 : -1;
   return ( ( absJoyPos.x > absJoyPos.y) ? absJoyPos.x * xDirection : absJoyPos.y * yDirection);
   }

1 ответ

Решение

Потому что horPos и ​​verPos используют один и тот же joyStickInput(moveJoystick)?

Когда вы нажмете правую кнопку, ваш joyStickInput() вернет 1, установив одинаковые значения horPos и ​​verPos (1), и ваш спрайт будет двигаться вверх (y+1) вправо (x+1)

Другие вопросы по тегам