我遇到了一个我认为会是一个相对简单的问题的障碍。我想通过按“Q”和“E”键在Z轴上“滚动”摄像机。使用键盘在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键时,绝对没有任何反应。为什么?
请不要说“没有任何反应”。这段代码甚至不应该编译,因为'localRotation'没有声明。值得注意的是[Unityscript](https://stackoverflow.com/questions/45523239/is-unityscript-javascript-discontinued?s=1|5.6699)已停用。您可能想切换到开始询问C#问题。 – Programmer
我说“没有任何反应”,因为从字面上看什么都没发生。当我提出这个问题时,我忘了复制'localRotation',但代码确实编译得很好。我使用Unityscript作为个人偏好,我不认为不使用C#是导致我现在面临的问题的原因,但我会在将来的问题中记住这一点。 – JavascriptLoser
我见过有人发布的代码甚至没有在这里编译。所以我虽然是其中之一。我提到C#作为您未来问题的通知。 – Programmer