tutorial pengembangan web terbaru
 

HTML Permainan Gravity


Beberapa game memiliki kekuatan yang menarik komponen permainan dalam satu arah, seperti gravitasi menarik benda-benda ke tanah.




Gravitasi

Untuk menambahkan fungsi ini untuk konstruktor komponen kami, pertama kali menambahkan gravity properti, yang menetapkan gravitasi saat. Kemudian menambahkan gravitySpeed properti, yang meningkatkan setiap kali kita update frame:

Contoh

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 ;
    }
}
Cobalah sendiri "

Hit Bawah

Untuk mencegah lapangan merah dari jatuh selamanya, menghentikan jatuh ketika hits bagian bawah area permainan:

Contoh

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

Cobalah sendiri "

mempercepat Up

Dalam permainan, ketika Anda memiliki kekuatan yang menarik Anda ke bawah, Anda harus memiliki metode untuk memaksa komponen untuk mempercepat up.

Memicu fungsi ketika seseorang mengklik tombol, dan membuat lapangan merah terbang di udara:

Contoh

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

<button onmousedown="accelerate(-0.2)" onmouseup="accelerate(0.1)">ACCELERATE</button>
Cobalah sendiri "

Permainan

Membuat game berdasarkan apa yang telah kita pelajari sejauh ini: