最适合网络开发者的网站
图。初学者课程

尿素

游戏引力


有些游戏具有将游戏组件拉向一个方向的力量,就像重力将物体拉向地面一样。




重力

要将此功能添加到我们的组件构造函数中,首先添加一个 gravity 属性,用于设置当前重力。然后添加一个gravitySpeed 属性,每次我们更新框架时它都会增加:

例子

函数组件(宽度,高度,颜色,x,y,类型){
这个.类型=类型;
这个.宽度=宽度;
这个.高度=高度;
这个.x = x;
这个.y = y;
这个.speedX = 0;
这个.速度Y = 0;
这个.重力=0.05;
这个.重力速度 = 0;
 
this.update = 函数(){
ctx = 我的游戏区域.context;
ctx.填充样式 = 颜色;
ctx.fillRect(这个.x,这个.y,这个.width,这个.height);
  }
this.newPos = 函数(){
这个.重力速度+ =这个.重力;
这个.x +=这个.速度X;
this.y += this.speedY + 这个.重力速度;
  }
亲自尝试 »

触底

为了防止红色方块永远下落,当它碰到游戏区域底部时停止下落:

例子

this.newPos = 函数(){
这个.重力速度+ =这个.重力;
这个.x +=这个.速度X;
这个.y +=这个.speedY + 这个.gravitySpeed;
这个.hitBottom();
  }
this.hitBottom = 函数(){
var rockbottom = myGameArea.canvas.height - this.height;
如果 (this.y > rockbottom) {
this.y = 最低点;
    }
  }
亲自尝试 »

加速

在游戏中,当有一种力量将你拉下时,你应该有一种方法来强制组件加速。

当有人点击按钮时触发一个功能,并使红色方块飞到空中:

例子

<script>
函数加速(n){
myGamePiece.重力 = n;
}
</script>

<button onmousedown="accelerate(-0.2)" onmouseup="accelerate(0.1)">加速</button>
亲自尝试 »

一个游戏

根据我们目前所学的知识制作一个游戏: