使用键盘在z轴上旋转相机

时间:2017-08-29 10:08:28

标签: unity3d rotation unityscript

我遇到了一个障碍,我认为这是一个相对简单的问题。我想通过按“Q”和“E”键在z轴上“滚动”相机。

这是我写的代码,它附在我的相机对象上:

#pragma strict

var keyboardSensitivity : float = 10.0f;
private var rotZ : float;
private var localRotation : Quaternion;

function Start () {
    rotZ = 0.0f;
}

function Update () {
    if(Input.GetKey(KeyCode.Q)) {
        rotZ += Time.deltaTime * keyboardSensitivity;
        localRotation = Quaternion.Euler(0.0f, 0.0f, rotZ);
        transform.rotation = localRotation;
    }
    if(Input.GetKey(KeyCode.E)) {
        rotZ -= Time.deltaTime * keyboardSensitivity;
        localRotation = Quaternion.Euler(0.0f, 0.0f, rotZ);
        transform.rotation = localRotation;
    } 
}

根据我的知识,这应该是所有需要的。但是当我按下Q或E键时,绝对没有任何反应。为什么呢?

1 个答案:

答案 0 :(得分:0)

没有任何反应,因为您的代码可能未附加到相机或附加到另一个GameObject。它不能附加到另一个GameObject。它必须连接到摄像机,因为您引用transform.rotation会影响脚本附加到的当前GameObject。

选择您的相机,然后将脚本拖到它。点击"播放"然后按Q或E按钮。相机应该旋转。我确实向你推荐Unity项目tutorials