لعبة كذاب


يرتد هذا المربع الأحمر عندما يصطدم بالأرض:




قفزة

وظيفة أخرى نريد إضافتها هي 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);
    }
  }
}