(29) 打开font下拉列表框,选择“宋体”。
(30) 打开size下拉列表框,选择10。
(31) 打开mode下拉列表框,选择transparent。
(32) 单击ok按钮,关闭打开的对话框。
(33) 将群组图标命名为try。
(34) 双击群组图标的标识符,打开properties:response对话框。
(35) 单击time limit标签,打开tries limit选项卡。
(36) 在time limit文本框内输入6。
(37) 启用show time remaining复选框。
(38) 启用restart for each try复选框。
(39) 打开interruption下拉列表框,选择continue timing选项。
(40) 单击response标签,打开response选项卡。
(41) 打开branch下拉列表框,选择exit interaciton选项。
(42) 单击ok按钮,关闭打开的对话框。
(43) 将显示图标拖动到“尝试”交互图标的下方,并命名为sorry。
(44) 双击sorry图标,打开演示窗口。
(45) 在演示窗口内输入“输入字母超时,请重新开始!”。
(46) 将等待图标拖动到sorry图标的下方。
(47) 双击等待图标,将等待时间确定为2秒,并禁用其他的所有复选框。
(48) 将计算图标拖动到等待图标的下方,并命名 为quit。
(49) 双击quit图标,打开计算图标的编辑窗口。
(50) 在编辑窗口内输入quit (1)。
(51) 关闭打开的编辑窗口之后,得到如图10-18所示的课件流程图。
(52) 播放并测试课件文件。
如图10-19所示,播放课件时,时钟将开始计时,用户可直接在文本框内输入a~g的英文字母,输入完毕之后,单击回车键表示结束。如果输入正确,并且没有超时,那么将显示abcdefg结果图标的内容。如果超时,或未在确定的时间6秒内输入完毕,那么将显示sorry图标的内容。
由于启用了time limit选项卡内的restart for each try复选框之后,因此当用户输入失败但没有超时,可重新输入将重新计时,而不是接着上一次计时。考虑到仅仅要求在规定的时间内输入完毕,没有禁用该复选框。
通过课件的演示,发现存在这样的问题:当未能在规定的时间内完成abcdefg的输入时,将显示输入错误信息,并经过2秒种的等待之后自动退出,它不能满足希望通过反复训练提高输入水平的要求。为了实现这个目标,可对课件流程图进行调整,得到如图10-20所示的流程图。
在sorry的下方添加一个goto计算图标,在编辑窗口内输入goto(iconid@"bj"),表示当输入失败时,将重新返回到bj图标开始重新输入字母的测试。为了给课件提供退出的时机,可将原来的quit图标移动到try图标的右侧,并将它的交互响应类型设置为button,这样单击quit按钮时,就可以关闭课件的演示窗口。
一个经典的游戏项目就是要求用户单击屏幕上移动的小球,小球移动的方向是不确定的,可以通过一组随机数来实现。如果能够在给定的时间内击中小球,那么将进一步缩短小球移
动的时间,提高击中的难度。在本例中小球的起始移动时间是5秒,最短移动时间是2秒。如果在规定的时间内未击中小球,那么将不改变小球的移动时间。为了给出提示,在小球运动的过程中,屏幕上将显示时钟,记录剩余的击中时间。
图10-19 播放课件 图10-20 调整后的流程图
击中小球
(1) 单击工具栏的new按钮,创建新的课件文件。
(2) 将计算图标拖动到流程线上,将它命名为time。
(3) 双击time计算图标,打开编辑窗口。
(4) 在编辑窗口内输入“t:=5”。
(5) 关闭编辑窗口之后,打开new variable对话框,单击ok按钮,完成小球运行时间的初始化。
(6) 将计算图标拖动到流程线上,将它命名为begin。
(7) 双击begin计算图标,打开编辑窗口。
(8) 在编辑窗口内输入如图10-21所示的内容,将窗口的大小定义为300×220像素,通过random函数获得小球移动的坐标。
(9) 关闭编辑窗口之后,将连续打开两个new variable对话框,单击两次ok按钮。
(10) 将显示图标拖动到begin的下方,将它命名为bg。
(11) 打开bg图标的演示窗口,使用绘图工具确定矩形框,作为小球移动的区域。
(12) 将矩形边框的颜色设置为红色,并使用中等宽度的边框。
(13) 将显示图标拖动到bg的下方,将它命名为object。
(14) 打开object图标的演示窗口,使用绘图工具绘制移动的小球(如图10-22所示)。
(15) 使用绿色填充小球。
(16) 将移动图标拖动到object的下方,命名为move。
(17) 双击打开move图标的properties:motion icon对话框。
(18) 单击motion标签,打开motion选项卡(如图10-23所示)。
(19) 打开type下拉列表框,选择direct to point。
(20) 在timing文本框内输入t。
图10-21 设定小球移动的坐标 图10-22 绘制移动的小球
图10-23 motion选项卡
(21) 打开concurrency下拉列表框,选择concurrent。
(22) 单击layout标签,打开如图10-24所示的layout选项卡。
(23) 选中distionation单选按钮,将x,y输入到右侧的两个文本框内。
(24) 单击ok按钮,关闭打开的对话框。
(25) 将交互图标拖动到流程线上,将它命名为“时间”。
图10-24 layout选项卡
(26) 将群组图标拖动到“时间”图标的右侧,打开response type对话框。
(27) 选中hot object单选按钮之后,单击ok按钮。
(28) 将群组图标命名为final。
(29) 双击final的交互标识符,打开properties:response对话框。
(30) 在hot object选项卡内,选择演示窗口的小球。
(31) 打开match下拉列表框,选择single_click。
(32) 启用hightlight复选框。
(33) 单击cursor右侧的按钮,在打开的对话框内选择十字星作为鼠标的形状。
(34) 双击群组图标,打开二级流程图窗口。
(35) 将显示图标拖动到流程线上,命名为“恭喜”。
(36) 双击“恭喜”图标,打开演示窗口。
(37) 在演示窗口内输入“恭喜,你已经在{t}秒内击中目标!”。
(38) 使用红色、宋体及12格式化输入的文本。
(39) 将等待图标拖动到“恭喜”图标的下方。
(40) 双击等待图标,在打开的属性设置对话框内将等待时间确定为2秒。
(41) 将计算图标拖动到等待图标的下方,将它命名为t = t–1。
(42) 双击计算图标,打开编辑窗口。
(43) 在编辑窗口内输入如图10-25所示的内容。
(44) 关闭编辑窗口之后,得到如图10-26所示的二级流程图。
图10-25 编辑计算图标 图10-26 final图标的流程图
(45) 将群组图标拖动到final的右侧,打开response type对话框。
(46) 选中time limit单选按钮,单击ok按钮。
(47) 双击群组图标的标识符,打开properties:response对话框。
(48) 单击time limit标签,打开time limit选项卡。
(49) 在time limit文本框内输入t。
(50) 启用show time remaining复选框。
(51) 单击ok按钮,关闭打开的properties:response对话框。
(52) 双击t群组图标,打开二级流程图。
(53) 将显示图标拖动到流程线上,命名为“时间已到”。
(54) 双击打开演示窗口,输入“{t}秒已到!你没有击中目标!”。
(55) 将等待图标拖动到流程线上。
(56) 双击打开等待图标的属性设置对话框,将等待时间确定为2秒。
(57) 将计算图标拖动到等待图标的下方,并命名为t = t。
(58) 双击打开计算图标的编辑窗口。
(59) 输入goto(iconid@"begin"),表示输入失败之后,返回到开始。
(60) 将计算图标拖动到t群组图标的右侧,将它命名为quit。
(61) 双击打开计算图标的编辑窗口,在其中输入quit (1)。
(62) 单击播放按钮,调整对象及按钮的位置。
(63) 测试并保存课件文件。
final群组图标用于响应在规定时间内成功地单击小球的操作,当单击小球成功之后,将自动把单击的时间减少1秒,提高单击的难度。单击成功之后,将在屏幕上显示如图10-27所示的提示信息,并且经过2秒钟的等待之后,继续下面的单击尝试。
t群组图标用于响应在规定时间内未能单击小球的操作。单击失败之后,将在屏幕上显示如图10-28所示的提示信息。允许的单击时间并没有减少,只是将控制流程转向begin图标,重新开始新一轮的单击游戏。另外,为了增加单击的乐趣,可以考虑当单击失败时,延长单击时间。
图10-27 单击小球成功的信息 图10-28 单击小球失败的信息
新闻热点
疑难解答