15.5 本章小结

  在本章中,我们学习了如何让程序对键盘事件做出响应。我们使用这一知识来创建一个移动的球,其中,通过键盘来设置球的方向。

  既然能够绘制画布,创建动画并且根据用户输入来更新这些动画,我们现在可以根据用户输入来创建一个简单的基于画布的游戏了。在下一章中,我们将目前为止已经学习的所有内容组合起来,以重新创建经典的贪吃蛇游戏。


15.6编程挑战

  采用以下几种方式在最终的游戏上进一步构建,以使其变得更为复杂。

#1:从墙上反弹

  修改代码,以便球能够从墙的一边和顶部反弹回来,而不是从另一端折返。提示:当球碰撞到墙的时候,只要将方向取反就行了。

#2:控制速度

  球当前在每一步动画中移动5个像素。这是因为setDircetion总是将xSpeed或ySpeed设置为-5或5.在Ball构造方法中创建一个名为speed的新属性,并且将其设置为5。然后,在setDirection中使用speed,而不是5.

现在,修改代码,以便可以使用数字键将speed设置为speed设置为1到9.提示:创建一个名为speed的对象,并且使用它来确定新的speed;如果有任何keydown事件的话,根据该事件来进行。

#3:灵活的控制

  修改代码,以便当你按下Z键的时候,球的速度会慢下来,当你按下X键的时候,球会加速。一旦有效,使用C键让球变得更小,使用V键让球变得更大。

如果速度变为0以下,将会发生什么事情?如果大小变为0以下呢?添加一段检查代码,以确保速度和大小不会变为0以下。