0
我有一個Threejs項目,我在其中使用keydown作爲我的玩家角色的控件,在我的動畫函數中:'a'和'd' ,'w'和's'上下。Threejs,Keydown應該移動我的玩家一定的距離,但距離增加
當我按住其中一個按鍵時,在按住按鍵的過程中,我的角色移動的距離會增加。 當我釋放鑰匙並再次按下之後,我的角色現在繼續跳躍增加的距離,並且在某個時候,它只需按一下按鈕就跳過整個屏幕。
下面的代碼片段:
$(document).keydown(function(e){
if (e.keyCode == 87) {
player.position.y += 0.05;
}
if (e.keyCode == 83) {
player.position.y -= 0.05;
}
if (e.keyCode == 65) {
player.position.x -= 0.05;
}
if (e.keyCode == 68) {
player.position.x += 0.05;
}
});
會很感激一些幫助:)
無法重現發佈的代碼的問題,但確保代碼執行**只有一次**。如果多次執行,每次按鍵都會調用多個keydown處理程序,結果位置變化超出預期。 – traktor53
您在渲染循環中發佈了哪些代碼?如果是這樣,每次渲染循環觸發它將添加**另一個**監聽器,導致上述評論中解釋的內容。 – 2pha