Garis Gravitasi Permainan

Ada beberapa permainan yang memiliki gaya menarik komponen permainan ke arah satu, seperti gaya gravitasi menarik objek ke permukaan tanah.


gaya gravitasi

Untuk menambahkan fitur ini ke fungsi konstruktur komponen kami, silakan tambahkan terlebih dahulu satu gravity Atribut, atribut ini mengatur gaya gravitasi saat ini. kemudian tambahkan satu gravitySpeed Atribut, yang akan bertambah setiap kali kami memperbarui bingkai:

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

Coba sendiri

Ketika Mampet

Untuk mencegah kubus merah jatuh kekal, kita harus menghentikan jatuhnya saat kubus mencapai dasar 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;
    }
  }

Coba sendiri

Tembus

Dalam permainan, ketika ada kekuatan yang menarik kubus turun, Anda harus merancang metode untuk memaksa komponen untuk mempercepat.

Ketika seseorang menekan tombol, dijalankan fungsi yang membuat kubus merah terbang ke udara:

Contoh

<script>
function accelerate(n) {
  myGamePiece.gravity = n;
}
</script>
<button onmousedown="accelerate(-0.2)" onmouseup="accelerate(0.1)">Tembus</button>

Coba sendiri

Satu permainan

Buat permainan yang berdasarkan pengetahuan yang kita pelajari sejauh ini:

Contoh

Coba sendiri

Klik tombol pemecahan untuk memulai permainan.

Berapa lama hidupnya? Gunakan tombol pemecahan untuk tetap di udara.