1
我正在準備一個簡單的坦克戰鬥遊戲的邏輯。這個想法是你有一個坦克(矩形)。按a
或d
即可將其旋轉,同時按w
或s
- 將其向上(前)或向下(向後)移動。移動旋轉矩形時的跳躍效果
if(keys[65] === true) {
gun.angle -= gun.speed;
}
if(keys[68] === true) {
gun.angle += gun.speed;
}
if(keys[87] === true) {
gun.x += gun.speed * Math.cos(radians(gun.angle));
gun.y += gun.speed * Math.sin(radians(gun.angle));
}
if(keys[83] === true) {
gun.x -= gun.speed * Math.cos(radians(gun.angle));
gun.y -= gun.speed * Math.sin(radians(gun.angle));
}
該腳本的作品相當不錯,但有一個問題,我很難解決。如果你旋轉坦克,沒有問題,但是當你向上或向下移動時,會產生跳躍效果。
當你向上移動時,它會跳下來,而當你向下移動時它會跳起來。
它可以很容易地用這demo fiddle進行測試。我懷疑這個問題可能與一個事實有關,移動所影響的點是坦克的x
和y
,而平移(用於旋轉)是基於坦克的中心點。我不知道如何解決它。
任何幫助將是不錯的;)
可愛,解決了:)謝謝先生。) – Mevia