内容正文:
操控自如——键盘控制
玩过电脑游戏的人都体验过用键盘控制游戏角色的快感和乐趣,而这种控制又是如何实现的呢?
本课将通过玛丽行走过程中越崖的控制来体验、学习用键盘控制游戏角色的方法。我们还将把玛丽游戏中的行走、坠落、越崖等分解动作有机地组合成一个初级玛丽游戏,体会自己编写游戏程序的乐趣。程序运行界面如图4.1所示。
任务分析
不难看出,“我的玛丽游戏”是由3个动作组成的,即“行走”、“越崖”和“坠崖”,而这3个动作是通过4个计时器的Timer事件实现的。
当在玛丽行走的过程中按下空格键时,玛丽跳起后落下的程序执行步骤可以用流程表示,如图4.2所示。
1、玛丽行走、跳跃的程序设计
在窗体上设置3个计时器,如图4.3所示,分别为:
Timer1功能:行走的控制;
Timer2功能:按下空格键后跳起的控制;
Timer3功能:跃起后落下、行走的控制。
2、玛丽行走、越崖的程序设计
步骤1:编写“玛丽行走”的事件过程代码。
步骤2:编写“玛丽越崖”的事件过程代码。
我们可以将“玛丽越崖”的动作分为两段程序代码来实现,即跳起和落下计时事件过程。
步骤3:设置“键盘控制”的事件过程。
从“行走”到“越崖”的动作是通过按下空格键来连接运行的,即玛丽在行走过程中系统如果发现按下了“空格键”,则玛丽越崖,越崖落地后玛丽继续行走。在键盘上按下空格键的事件过程如图4.4所示。
步骤4:编写按下空格键的事件过程代码。
以上事件过程被按下的键触发后执行,程序执行时首先对按下的键是否为空格键做出判断,如果按下的键是空格键,则让跳起动作生效,行走动作失效,从而实现行走到跳跃动作的转换。
调试程序的过程中需要注意,同一时刻只应有一个计时器设置为可用,其他设置为不可用。每个计时器触发的时间间隔不能为0,否则可能会出现一些不给出错误提示(也称逻辑错误)的错误。
3、玛丽“行走”、“越崖”与“坠崖”的程序设计
任务分析:
至此为止,玛丽已经可以在行走过程中完成“越崖”动作了,但是当按下空格键的时间滞后或提前,都有可能使玛丽坠入悬崖,为了使初级玛丽游戏更加好玩,有必要将玛丽坠崖的动作加入到以上游戏过程中。
不难看出玛丽坠人悬崖的可能性有两种,其一,玛丽走到悬崖边时由于没有跳起而落人悬崖中;其二,玛丽落下时落在了悬崖中。所以判断玛丽行走和落下时是否在悬崖的范围内是解决问题的关键。如果玛丽在悬崖范围内,