Neueste Web-Entwicklung Tutorials
 

HTML Spiel Gravity


Einige Spiele haben Kräfte, die die Spielkomponente in eine Richtung zieht, wie die Schwerkraft Gegenstände auf den Boden zieht.




Schwerkraft

Um diese Funktionalität in unsere Komponente Konstruktor, fügen Sie zunächst eine gravity - Eigenschaft, die den aktuellen Schwerkraft setzt. Dann fügen Sie eine gravitySpeed Eigenschaft, die erhöht jedes Mal wenn wir den Rahmen zu aktualisieren:

Beispiel

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 ;
    }
}
Versuch es selber "

Hit the Bottom

Um zu verhindern, das rote Quadrat für immer fallen, die fallen nicht mehr, wenn er den Boden des Spielfeldes trifft:

Beispiel

    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;
        }
    }

Versuch es selber "

Beschleunigen Up

In einem Spiel, wenn Sie eine Kraft haben, die Sie nach unten zieht sollten Sie eine Methode, um die Komponente zu zwingen, bis zu beschleunigen.

Lösen Sie eine Funktion, wenn jemand auf eine Schaltfläche klickt, und machen das rote Quadrat in der Luft fliegen:

Beispiel

<script>
function accelerate(n) {
    myGamePiece.gravity = n;
}
</script>

<button onmousedown="accelerate(-0.2)" onmouseup="accelerate(0.1)">ACCELERATE</button>
Versuch es selber "

Ein Spiel

Machen Sie ein Spiel auf das, was wir bisher gelernt haben: