我遇到了一個我認爲會是一個相對簡單的問題的障礙。我想通過按「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