Jeu rebondissant


Ce carré rouge rebondit lorsqu'il touche le sol :




Rebondir

Une autre fonctionnalité que nous voulons ajouter est la bouncepropriété.

La bouncepropriété indique si le composant rebondira lorsque la gravité le fera tomber au sol.

La valeur de la propriété de rebond doit être un nombre. 0 n'est pas un rebond du tout, et 1 fera rebondir le composant jusqu'à l'endroit où il a commencé à tomber.

Exemple

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