HTML 游戏弹跳

  • 定义和使用

    这个红色方块碰到地板时会反弹:
  • Bouncing 属性

    我们要添加的另一个功能是 bounce 属性。
    bounce 属性指示当重力使组件落到地面时,组件是否会反弹。
    反弹属性值必须是数字。0 表示完全不反弹,1 将使组件反弹到开始下落的位置。
    当击中一个新的障碍物时,使用一个声音来制造一个新的障碍物:
    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);
            }
        }
    }
    尝试一下