Motion ng Laro

Rekomendasyon ng Kurso:


Paano lumilipat ang bagay? Muling lumalaro muli

sa component magdagdag ng isang speed attribute, na naglalarawan ng kasalukuyang bilang ng kalalabasan ng komponente.

mga newPos() method, ayon sa speed At sa pamamagitan ng pagbabago ng angle kaugnay ng posisyon ng komponente.

Bilang default, ang komponente ay nakaharap sa itaas, sa pamamagitan ng paggawain ng speed attribute sa 1, ang komponente ay magsisimula sa paglilipat sa harap.

Sample

function component(width, height, color, x, y) {
  this.gamearea = gamearea;
  this.width = width;
  this.height = height;
  this.angle = 0;
  this.speed = 1;
  this.x = x;
  this.y = y;
  this.update = function() {
    ctx = myGameArea.context;
    ctx.save();
    ctx.translate(this.x, this.y);
    ctx.rotate(this.angle);
    ctx.fillStyle = color;
    ctx.fillRect(this.width / -2, this.height / -2, this.width, this.height);
    ctx.restore();
  }
  this.newPos = function() {
    this.x += this.speed * Math.sin(this.angle);
    this.y -= this.speed * Math.cos(this.angle);
  }
}

Subukan Mo Itong Araw

mga likod

nais naming makilusot at makiligtas sa kaliwa at sa kanan. Lumikha ng isang pangalan na moveAngle ng bagong attribute, na nagpapahiwatig ng kasalukuyang halaga ng paglipat o anggulo ng pag-rotate. Sa newPos() sa moveAngle pamamaraan ng angle:

Sample

Isaayos ang attribute na moveangle sa 1, tingnan kung ano ang mangyayari:

function component(width, height, color, x, y) {
  this.width = width;
  this.height = height;
  this.angle = 0;
  this.moveAngle = 1;
  this.speed = 1;
  this.x = x;
  this.y = y;
  this.update = function() {
    ctx = myGameArea.context;
    ctx.save();
    ctx.translate(this.x, this.y);
    ctx.rotate(this.angle);
    ctx.fillStyle = color;
    ctx.fillRect(this.width / -2, this.height / -2, this.width, this.height);
    ctx.restore();
  }
  this.newPos = function() {
    this.angle += this.moveAngle * Math.PI / 180;
    this.x += this.speed * Math.sin(this.angle);
    this.y -= this.speed * Math.cos(this.angle);
  }
}

Subukan Mo Itong Araw

Gumamit ng keyboard

Kung gumamit ng keyboard, paano lumilipat ang pulang bloke? Kapag gumagamit ka ng 'up' na sumbong, ang pulang bloke ay hindi lumilipat sa itaas at sa ibaba, kundi maglilipat mula sa isang gilid papunta sa ibang gilid at maglilipat sa harap, at mag-rotate sa kanan at sa kaliwa kapag pindutin ang sumbong na 'left' at 'right'.

Sample

Subukan Mo Itong Araw

Tiyakin na ang lugar ng laro ay nakafokus, at gamitin ang arrow keys upang ilikas ang kulay puti na bloke.