Spil gravitation
- Forrige side Spil lyd
- Næste side Spil spring
I nogle spil findes der en kraft, der trækker spilkomponenter i en retning, f.eks. trækker tyngdekraften objekter mod jorden.
tyngdekraft
For at tilføje denne egenskab til vores komponentkonstruktør, skal du først tilføje en gravity
Egenskab, som indstiller den nuværende tyngdekraft. Derefter tilføj en gravitySpeed
Egenskaber, som øges hver gang vi opdaterer rammen:
Eksempel
function component(width, height, color, x, y, type) { this.type = type; this.width = width; this.height = height; this.x = x; this.y = y; this.speedX = 0; this.speedY = 0; this.gravity = 0.05; this.gravitySpeed = 0; this.update = function() { ctx = myGameArea.context; ctx.fillStyle = color; ctx.fillRect(this.x, this.y, this.width, this.height); } this.newPos = function() { this.gravitySpeed += this.gravity; this.x += this.speedX; this.y += this.speedY + this.gravitySpeed; } }
Rundtom
For at forhindre, at den røde firkant falder for evigt, skal vi stoppe faldet, når den når bunden af spilområdet:
Eksempel
this.newPos = function() { this.gravitySpeed += this.gravity; this.x += this.speedX; this.y += this.speedY + this.gravitySpeed; this.hitBottom(); } this.hitBottom = function() { var rockbottom = myGameArea.canvas.height - this.height; if (this.y > rockbottom) { this.y = rockbottom; } }
Accelerer
I spillet skal du designe en metode til at tvinge komponenten til at accelerere, når der er en kraft der trækker firkanten nedad.
Når nogen klikker på knappen, udløses en funktion, der får den røde firkant til at flyve op i luften:
Eksempel
<script> function accelerate(n) { myGamePiece.gravity = n; } </script> <button onmousedown="accelerate(-0.2)" onmouseup="accelerate(0.1)">Accelerer</button>
Et spil
Lav et spil baseret på vores viden indtil videre:
Eksempel
Klik på accelerationsknappen for at starte spillet.
Hvor lang tid kan du leve? Brug accelerationsknappen for at forblive i luften.
- Forrige side Spil lyd
- Næste side Spil spring