juego de rebote


Este cuadrado rojo rebota cuando toca el suelo:




Rebote

Otra funcionalidad que queremos agregar es la bouncepropiedad.

La bouncepropiedad indica si el componente rebotará cuando la gravedad lo haga caer al suelo.

El valor de la propiedad de rebote debe ser un número. 0 es ningún rebote en absoluto, y 1 hará que el componente rebote hasta donde comenzó a caer.

Ejemplo

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