HTML igre

9. Odbijanje od prepreke

Još jedno svojstvo koje možemo dodati uz gravitaciju je bounce svojstvo. Bounce svojstvo određuje hoće li komponenta odskočiti kada padne na kraj canvasa. Vrijednost svojstva uvijek mora biti 0 ako ne želimo imati odskakanje i 1 ako želimo da odskoči natrag do originalne lokacije.

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.1;
this.gravitySpeed = 0;
this.bounce = 0.6;
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;
this.hitBottom();
  }
this.hitBottom = function() {
var rockbottom = this.gamearea.canvas.height – this.height;
if (this.y > rockbottom) {
this.y = rockbottom;
this.gravitySpeed = -(this.gravitySpeed * this.bounce);
    }
  }
}