جاذبية اللعبة

في بعض الألعاب، هناك قوة تجذب مكونات اللعبة إلى اتجاه معين، مثل الجاذبية التي تجذب الأجسام إلى الأرض.


جاذبية

إذا كنت ترغب في إضافة هذه الخاصية إلى بناء مكوناتنا، يرجى أولاً إضافة جاذبية خصائص، حيث يتم تعيين الجاذبية الحالية. ثم أضف gravitySpeed المعلمات، التي تزيد كلما تم تحديث الإطار:

مثال

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.05;
  this.gravitySpeed = 0;
  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.newPos = function() {
    this.gravitySpeed += this.gravity;
    this.x += this.speedX;
    this.y += this.speedY + this.gravitySpeed;
    this.hitBottom();
  }
  this.hitBottom = function() {
    var rockbottom = myGameArea.canvas.height - this.height;
    if (this.y > rockbottom) {
      this.y = rockbottom;
    }
  }

جربها بنفسك

تسارع

في اللعبة، عندما يكون هناك قوة تجذب المكعب إلى الأسفل، يجب أن تصمم طريقة تجعل المكون يسرع.

عندما يضغط شخص على الزر، يتم تنفيذ دالة تجعل مكعب الأحمر يطير في الهواء:

مثال

<script>
function تسارع(n) {
  myGamePiece.gravity = n;
}
</script>
<button onmousedown="تسارع(-0.2)" onmouseup="تسارع(0.1)">تسارع</button>

جربها بنفسك

لعبة واحدة

صنع لعبة بناءً على المعرفة التي اكتسبناها حتى الآن:

مثال

جربها بنفسك

انقر على زر التسريع للبدء في اللعبة.

كم من الوقت يمكنك العيش؟ استخدم زر التسريع للحفاظ على البقاء في الهواء.