Unity - Джойстик для движения и поворота камеры одновременно - PullRequest
0 голосов
/ 28 мая 2018

У меня проблема.Я хочу использовать джойстик для движения игрока.Я хочу повернуть камеру, если игрок щелкнет ЛЮБОЕ ЛИБО на экране.

Вот изображение

Моя проблема: если игрок использует джойстик, то камера тоже вращается!Я попробовал IsPointerOverGameObject не очень хорошо, потому что игрок нажимает джойстик и перетаскивает его на экран, затем джойстик все еще работает, но камера вращается снова :( Так что я думаю, что если игрок использует джойстик, я отключаю вращение камеры, но не хорошо, потому что если игрок использует двапальцами это возможно и одновременно. (джойстик одним пальцем и экран одним пальцем)

public float speed = 2.0f;
private float X;
private float Y;



void Update() {

    if (Input.GetMouseButton (0)) {


        if(!EventSystem.current.IsPointerOverGameObject ())  {


                transform.Rotate (new Vector3 (Input.GetAxis ("Mouse Y") * speed, -Input.GetAxis ("Mouse X") * speed, 0));
                X = transform.rotation.eulerAngles.x;
                Y = transform.rotation.eulerAngles.y;
                transform.rotation = Quaternion.Euler (X, Y, 0);
            }

        }

    }

Поэтому необходимо другое решение. Если игрок использует джойстик, не двигайте камеру. Но если игрок используетэто двумя пальцами (один с джойстиком, а другой с разрешенной камерой!) Надеюсь, вы понимаете. (похоже на другие стрелялки).

Спасибо!

...