Unity - 同时移动和旋转摄像机的操纵杆

时间:2018-05-28 10:57:16

标签: c# unity3d camera rotation joystick

我有问题。 我想用操纵杆来移动玩家。 如果玩家在屏幕上点击ANYWHERE ELSE,我想旋转相机。

Here is picture

我的问题: 如果玩家使用操纵杆,那么相机也会旋转! 我试过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);
            }

        }

    }

因此需要另一种解决方案。 如果玩家使用操纵杆,请勿移动相机。 但是如果玩家使用两个手指(一个带有操纵杆,另一个带着摄像头!) 我希望你明白。 (类似于其他射击游戏)。

谢谢!

0 个答案:

没有答案