17.4用键盘设置贪吃蛇的方向
接下来,编写代码让玩家使用键盘来设置贪吃蛇的方向。我们将添加一个keydown事件处理程序,它检测何时按下一个箭头键,并且将贪吃蛇的方向设置为与该键一致。
17.4.1 添加keydown事件处理程序
以下代码处理键盘事件:
在❶处,创建了一个对象,它将箭头按键的代码转换为字符串,该字符串表现了箭头所代表的方向(这个对象和我们在15.2.7小节中所使用的keyActions对象类似)。在❷处,向boby元素上的keydown事件附加一个事件处理程序。当用户按下一个按键的时候,将会调用该事件处理程序(只要先要Web页面的范围单击它们)。
这个事件处理程序首先将事件的按键代码转换为一个方向字符串,然后,将字符串存储到newDirection变量中。如果按键代码不是37、38、39或40(这是我们所关注的箭头按键的代码),directions[event.keyCode]将会是undefined。
在❸处,查看newDirection是不是undefined。如果它不是undefined,在贪吃蛇上调用setDirection方法,传入setDirection字符串(由于这个在if语句中没有else的情况,如果setDirection是undefined,那么,只是忽略按键按下)。
这段代码无效,因为没有在贪吃蛇上定义setDirection方法。我们现在来做这件事情。
本站内容未经许可,禁止任何网站及个人进行转载。