游戏引力
有些游戏具有将游戏组件拉向一个方向的力量,就像重力将物体拉向地面一样。
重力
要将此功能添加到我们的组件构造函数中,首先添加一个 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>
亲自尝试 »
一个游戏
根据我们目前所学的知识制作一个游戏: