Peli painovoima
- Edellinen sivu Peli ääni
- Seuraava sivu Peli hyppy
Joidenkin pelien osissa on voima, joka vetää pelielementtejä yhteen suuntaan, esimerkiksi painovoima vetää objekteja maahan
重力
Jos haluat lisätä tämän ominaisuuden komponentin rakentajafunktiolle, lisää ensin yksi gravity
Ominaisuus, joka asettaa nykyisen painovoiman. Lisää sitten yksi gravitySpeed
Ominaisuudet, jotka lisääntyvät joka kerta, kun päivitysruutu päivitetään:
Esimerkki
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; } }
Pudota
Jotta punainen laatikko ei laske loputtomasti alas, meidän täytyy lopettaa sen laskeutuminen, kun se saavuttaa pelialueen alarajan:
Esimerkki
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; } }
Lisää nopeutta
Pelissä, kun voima vetää laatikkoa alas, sinun tulisi suunnitella tapa pakottaa komponentti kiihtymään.
Kun joku napsauttaa painiketta, käynnistetään funktio, joka saa punaisen laatikon hyppimään ilmassa:
Esimerkki
<script> function accelerate(n) { myGamePiece.gravity = n; } </script> <button onmousedown="accelerate(-0.2)" onmouseup="accelerate(0.1)">Lisää nopeutta</button>
Yksi peli
Valmistele peli, jonka olemme tähän asti oppineet:
Esimerkki
Napsauta nopeutuspainiketta aloittaaksesi pelin.
Kuinka kauan kestää? Käytä nopeutuspainiketta pysyäksesi ilmassa.
- Edellinen sivu Peli ääni
- Seuraava sivu Peli hyppy