juego de rebote
Este cuadrado rojo rebota cuando toca el suelo:
Rebote
Otra funcionalidad que queremos agregar es la bounce
propiedad.
La bounce
propiedad 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);
}
}
}