Die Bewegung baut auf dem Grundgerüst auf. Es sollte also grob diese Struktur vorhanden sein. Damit ein Objekt bewegt werden kann, muss es unbedingt mit position: absolute
im CSS-Code eine absolute Positionierung haben. Nur dann funktionieren die CSS-left
und -top
-Eigenschaften.
Um dem Objekt eine Startposition zu geben, muss vor dem Game-Loop diese Position mit der left
- bzw. der top
-Eigenschaft bestimmt werden.
Im Game-Loop kann dann die Positionierung geändert werden. In diesem Beispiel wird die left
-Eigenschaft, dass heisst, der Abstand zum linken Spielfeldrand, jeweils um 1px vergrössert. Der Spieler bewegt sich so nach rechts.
.player {
position: absolute;
background-color: red;
width: 20px;
height: 20px;
}
<div class="playground">
<div class="player"></div>
</div>
var spieler = document.querySelector('.player')
spieler.style.left = '0px'
function loop() {
spieler.style.left = parseInt(spieler.style.left) + 5 + 'px'
window.requestAnimationFrame(loop)
}
window.requestAnimationFrame(loop)