我遇到了一个障碍,我认为这是一个相对简单的问题。我想通过按“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键时,绝对没有任何反应。为什么呢?
答案 0 :(得分:0)
没有任何反应,因为您的代码可能未附加到相机或附加到另一个GameObject。它不能附加到另一个GameObject。它必须连接到摄像机,因为您引用transform.rotation
会影响脚本附加到的当前GameObject。
选择您的相机,然后将脚本拖到它。点击"播放"然后按Q或E按钮。相机应该旋转。我确实向你推荐Unity项目tutorials。