Ich mache ein Flugzeug Spiel. Um Raketen abzuschießen, benutze ich JavaScript-Funktionen, die divs mit der Klasse der Rakete erstellen und die Position meines Flugzeuges verwenden, um die Rakete zu positionieren.CSS Positionierung auf keyDown
Das Problem ist mit meiner Top-Positionierung.
Hier ist meine keyDown Funktion ...
document.onkeydown = function(e) {
(e.keyCode === 37) ? player.left-= 10
: (e.keyCode === 38) ? player.top-= 10
: (e.keyCode === 39) ? player.left += 10
: (e.keyCode === 40) ? player.top += 10
: (e.keyCode === 32) ? missiles.push({top: player.top - 8, left: player.left + 34})
: player = player;
drawMissiles();
(player.top <= 400) ? player.top = 400
: player = player;
drawPlayer();
}
Dies ein Objekt zu einem leeren Rakete-Array mit den Eigenschaften von „oben“, ergänzt und „links“.
ich dann eine JavaScript-Funktion als meinen CSS-Stil, wie so dass div zu meinem HTML mit den oberen und unteren Eigenschaften hinzufügen zu werden ..
function drawMissiles() {
let content = "";
missiles.map(function(missile) {
content+= "<div class='missile' style='left:"+missile.left+"px;, top:"+missile.top+"px;'></div>"
document.getElementById("missiles").innerHTML = content;
})
}
drawMissiles();
My „links“ Eigenschaft arbeitet verwendet , aber mein "Top" ist nicht. Meine Raketen landen oben auf meiner Seite.
Tippfehler im Stil Eigenschaft –