Ukiringanyiko wa Kijeshi

mkiaji wa rangi huu inaweza kumwimba:


Kumwimba komponenti

Kwenye sehemu za tutokana ya tutokana, mkiaji wa rangi huu inaweza kuendelea katika eneo la kanduku na hapatikani kumwimba au kumwimba.

Kuwaonyesha komponenti kumwimba, lazima tunachangeze uendo wa kumchora komponenti.

Makina ya kumwimba pekee inayotumika kwenye mchumba ni inayowimba kina kikuu:

makini yote yaliyotumika kwenye mchumba yana nguvu ya kumwimba, na si komponenti pekee.

ingawa ni sababu tunahitaji: update() kufanya mafanikio:

Kwanza, tunakumbuka kina kikuu cha sasa:

ctx.save();

Kisha tunatumia methodi ya translate kumwimba kina kikuu kwa kiwango cha komponenti:

ctx.translate(x, y);

Kisha tunatumia methodi ya rotate() kuwaonyesha uharibifu:

ctx.rotate(angle);

Sasa tunapewa uwezo wa kuangalia komponenti kwenye mchumba, lakini sasa tunapewa uwezo wa kuangalia kiwango cha kuzingatia (na kumwimba) kwenye kina kikuu:

ctx.fillRect(width / -2, height / -2, width, height);

Kufikia mwisho, lazima tumetumie methodi ya restore kuirekebisha kwa kina kikuu cha kusafisha:

ctx.restore();

komponenti ina nguvu ya kumwimba kwa sababu yana nguvu ya kumwimba:

makina ya komponenti

component makina ya uundaji ina jina la angle kwa kina mpya ni angalau ni wengi, ni nguvu ya agano ya komponenti.

component kwa makina ya uundaji update Makini yetu niweza kuangalia uharibifu wa mchumba wa komponenti, hapa unaweza kuona uharibifu wa mchumba wa komponenti:

mshika

function component(width, height, color, x, y) {
  this.width = width;
  this.height = height;
  this.angle = 0;
  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();
  }
}
function updateGameArea() {
  myGameArea.clear();
  myGamePiece.angle += 1 * Math.PI / 180;
  myGamePiece.update();
}

Tafakari Hii Kwa Picha