[Unity]如何在不拖动的情况下自动旋转相机?

时间:2018-02-14 10:46:33

标签: c# unity3d

我的英语不好。对不起。

我的问题是 “如何在不拖动的情况下自动旋转相机?”

我实施了它,直到使用拖动相机旋转。

但我不知道在鼠标移动时如何让我的相机旋转。

1 个答案:

答案 0 :(得分:0)

你可以制作一个布尔值来检查相机旋转是否被激活,然后有一个函数在收到输入时分别设置为false / true。

在您的输入管理器中进行以下操作:

public bool isRotating;
void ToggleIfShouldRotate(){
    isRotating = !isRotating;
}

!IsRotating将始终与isRotating相反。

您还需要确定应激活或停用旋转的键,您可以使用Keycode变量来执行此操作。

[SerializeField]
KeyCode ToggleRotatingKey = KeyCode.Mouse0;

我已将其设置为Mouse0的默认设置,我相信它是鼠标左键。您可以在检查器或代码中更改值。

现在在Update方法中使用此键可以打开和关闭旋转,就像这样。

void Update()
{
    if (Input.GetKeyDown(ToggleRotatingKey))
    {
        ToggleIfShouldRotate();
    }
}

编辑:

现在在旋转脚本中,只需从InputManager中检查布尔值isRotating。