重力 بازی
- صفحه قبلی صداها بازی
- صفحه بعدی پرش بازی
در برخی بازیها، نیرویی وجود دارد که اجزا بازی را به یک جهت میکشد، به عنوان مثال،重力 اجسام را به سمت زمین میکشد.
重力
برای اضافه کردن این ویژگی به تابع ساختاری سازنده ما، ابتدا یک 重力
خصوصیت، این خصوصیت تنظیم وزن مخصوص را تنظیم میکند. سپس یک 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 accelerate(n) { myGamePiece.gravity = n; } </script> <button onmousedown="accelerate(-0.2)" onmouseup="accelerate(0.1)">تسریع</button>
یک بازی
با توجه به دانشی که تا به حال آموختهایم، یک بازی بسازیم:
مثال
برای شروع بازی، دکمهی سرعت را کلیک کنید.
چند سال زنده میمانی؟ از دکمهی سرعت برای ماندن در هوا استفاده کن.
- صفحه قبلی صداها بازی
- صفحه بعدی پرش بازی