| 网站镜像:电信 网通 | 加入收藏 | 设为首页

9.2 使用Authorware 按键响应(1)

  • 9.2.3 按键响应实例

    为了移动屏幕上的物体,使用键盘控制是一种常用的方法。由于 4 个方向键和 Esc 键在 Authorware 6.0 中对应的键名分别是 UpArrow , DownArrow , LeftArrow , RightArrow 和 Esc ,因此通过上述键名就可以控制对象的移动。在本例中将移动对象确定为红色的圆球,并将移动的区域定义为一个 4 × 4 的正方形网格。当圆球到达网格的边缘时,要求它不再移动。为了实现这一点,可在按键响应的属性对话框内定义按键响应的条件。

    *通过按键移动对象

    (1) 单击 New 按钮,创建新的课件文件。

    (2) 将计算图标拖动到流程线上,并命名为“定义变量”。

    (3) 双击“定义变量”图标,在编辑窗口内输入“ x : =1 、 y : =1 ”。

    (4) 将显示图标拖动到“定义变量”图标的下方,并将它命名为“底图”。

    (5) 双击“底图”图标,打开演示窗口。

    (6) 选择绘图工具的矩形工具之后,在演示窗口内绘制正方形。

    (7) 选择绘图工具的直线工具之后,将正方形分成 16 等份 ( 如图 9-14 所示 ) 。

    图 9-14 将正方形分成 16 等份

    (8) 将显示图标拖动到“底图”图标的下方,并将它命名为“圆球”。

    (9) 双击“圆球”图标,打开演示窗口。

    (10) 在演示窗口内使用椭圆绘图工具绘制圆形。

    (11) 使用红色填充圆形。

    (12) 将交互图标拖动到“圆球”图标的下方,并命名为“移动圆球”。

    (13) 将群组图标拖动到“移动圆球”的右侧,打开 Response Type 对话框。

    (14) 选中 KeyPress 单选按钮之后,单击 OK 按钮打开的对话框。

    (15) 将群组图标命名为 UpArrow 之后,双击按键响应的标识符,打开 Properties:Response 对话框。

    (16) 在 Response 选项卡内,在 Active If 文本框内输入“ Y<=3 ”。

    (17) 打开 Erase 下拉列表框,选择 After Next Entry 。

    (18) 打开 Branch 下拉列表框,选择 Continue 。

    (19) 打开 Status 下拉列表框,选择 Not Judged ( 如图 9-15 所示 ) 。

    图 9-15 设置 UpArrow 图标的响应属性

    (20) 关闭打开的 Properties:Response 对话框。

    (21) 双击 UpArrow 群组图标,打开二级流程窗口。

    (22) 将计算图标拖动到二级流程线上,并命名为 y+1 。

    (23) 双击计算图标,在编辑窗口内输入 y : =y+1 之后,关闭打开的编辑窗口。

    (24) 重复上述 (13) ~ (23) 步的操作,在“移动圆球”交互图标的右侧添加 DownArrow 群组图标,在按钮响应的属性对话框内将 Active If 修改为 y : =y–1 。

    (25) 重复上述 (13) ~ (23) 步的操作,在“移动圆球”交互图标的右侧添加 RightArrow 群组图标,在按钮响应的属性对话框内将 Active If 修改为 x : =x–1 。

    (26) 重复上述 (13) ~ (23) 步的操作,在“移动圆球”交互图标的右侧添加 LeftArrow 群组图标,在按钮响应的属性对话框内将 Active If 修改为 x : =x–1 。

    (27) 将计算图标拖动到 RightArrow 图标的右侧,打开 Response Type 对话框。

    (28) 选择 KeyPress 单选按钮之后,单击 OK 按钮,关闭打开的对话框。

    (29) 将计算图标命名为 Esc 之后,双击打开编辑窗口。

    (30) 在编辑窗口内输入 Quit (1) 。

    (31) 双击 Esc 图标的响应标识符,打开 Properties:Response 对话框。

    (32) 在 Response 选项卡内打开 Branch 下拉列表框,选择 Exit Interaction 。

    (33) 单击 OK 按钮,关闭打开的 Properties:Response 对话框。

    (34) 将群组图标拖动到 Esc 图标的右侧,打开 Response Type 对话框。

    (35) 选中 Continue 单选按钮之后,单击 OK 按钮,关闭打开的对话框。

    (36) 将群组图标命名为 True 。

    (37) 双击 True 图标的响应标识符,打开 Properties:response 对话框。

    (38) 在 Response 选项卡内打开 Branch 下拉列表框,选择 Continue 。

    (39) 单击 OK 按钮,关闭打开的 Properties:Response 对话框。

    (40) 双击 True 群组图标,在其中添加一个移动图标,将命名为“移动”。

    (41) 执行课件文件,当演示窗口内出现正方形方格与圆球时,双击移动图标,打开 Properties:Motion Icon 对话框。

    图 9-16 Properties: Motion Icon 对话框

    (42) 选择 Layout 标签,打开 Layout 选项卡。

    (43) 选中 Base 单选按钮之后,将演示窗口的圆球拖动到左下角的方格中心处。

    (44) 在 Base 右侧的文本框内输入 (1 , 1) 。

    (45) 选中 End 单选按钮之后,将演示窗口的圆球拖动到右上角的方格中心处。

    (46) 在 End 右侧的文本框内输入 (4 , 4) 。

    (47) 选中 Destination 单选按钮之后,在右侧的文本框内输入 (x , y) 。

    (48) 选择 Motion 选项卡,在 Timing 文本框内选择 Time (sec) 。

    (49) 在 Timing 下方的方框内输入 0.5 ,表示逐格移动的时间为 0.5 秒。

    (50) 打开 Concurrency 下拉列表框,选择 Concurrent 。

    (51) 打开 Beyond Range 下拉列表框,选择 Stop at Ends 选项,如图 9-17 所示。

    (52) 单击 OK 按钮,关闭打开的 Properties:Motion Icon 对话框。

    (53) 至此,得到如图 9-18 所示的课件流程图。

    图 9-17 设置移动图标的 Motion 选项卡

    图 9-18 课件流程图

    (54) 播放、测试并保存课件文件。

    播放课件时,首先红色的圆球出现在演示窗口的左下角,单击四个方向键之后,可以逐格移动圆球,并且圆球不会突破正方形定义的区域。在此采用的坐标系是这样的:水平向右为 X 轴的正方向,垂直向上为 Y 轴的正方向,并且将坐标原点定义在演示窗口的左下角。因此向右移动一格时, X 加 1 ,向上移动一格时, Y 加 1 。由于将 X<=3 及 Y<=3 作为按键响应的条件,因此圆球是无法超出自定义的区域的。

    由于键盘的键名与 Authorware 6.0 的按键具有对应关系,因此可通过 {Press} 系统变量接受键盘的键名,然后将它显示在演示窗口内。为了开始播放课件,可以在接受键名之前,添加一个名为“开始”的按钮,当也可以刷新当前的屏幕。

    *按键响应示例

    (1) 单击工具栏的 New 按钮,创建新的课件文件。

    (2) 将计算图标拖动到流程线上,命名为“窗口大小”。

    (3) 双击“窗口大小”图标,打开编辑窗口。

    (4) 在其中输入 ResizeWindow(300 , 240) 。

    (5) 关闭编辑窗口。

    (6) 将显示图标拖动到“窗口大小”的下方,将它命名为“背景”。

    (7) 双击“背景”图标,打开演示窗口。

    (8) 使用 Ctrl+Shift+R 组合键导入一幅图片作为背景。

    (9) 将显示图标拖动到“按钮”图标的下方,并命名为“提示”。

    (10) 双击打开“提示”图标的演示窗口,在其中输入“请按任意键”。

    (11) 将“提示”图标的内容设置为透明。

    (12) 将交互图标拖动到“背景”图标的下方,命名为“按键”。

    (13) 将显示图标拖动到“按钮”图标的右下角,打开 Response Type 对话框。

    (14) 选中 Button 单选按钮之后,单击 OK 按钮。

    (15) 将显示图标命名为“开始”按钮。

    (16) 双击“开始”按钮上方的交互标识符,打开 Properties:Response 对话框。

    (17) 单击 Response 标签,打开 Response 选项卡。

    (18) 启用 Scope 选项组中的 Perpetual 复选框。

    (19) 打开 Branch 下拉列表框,选择 Exit Interaction 。

    (20) 单击 OK 按钮。

    (21) 将计算图标拖动到“开始”图标的右侧,并命名为“退出”。

    (22) 双击“退出”图标,打开计算图标的编辑窗口。

    (23) 在编辑窗口内输入 Quit (1) 。

    (24) 关闭编辑窗口之后,得到如图 9-19 所示课件的流程图。

    (25) 将交互图标拖动到“按键”图标的下方,命名为“应答”。

    (26) 将显示图标拖动到“应答”图标的右下方,打开 Response Type 对话框。

    (27) 选中 KeyPress 单选按钮之后,单击 OK 按钮。

    (28) 将显示图标命名为“?”。

    (29) 双击“ ? ”图标上方的交互标识符,打开 Properties:Response 对话框。

    (30) 单击 Response 标签,打开 Response 选项卡。

    (31) 打开 Erase 下拉列表框,选择 Don't Erase 选项。

    (32) 打开 Branch 下拉列表框,选择 Try Again 选项。

    (33) 单击 OK 按钮,关闭打开的 Properties:Response 对话框。

    (34) 运行课件,按住 Shift 功能键之后,双击“?”图标,使它处于编辑状态。

    (35) 在演示窗口内输入“你在键盘上输入的键名是 {key} ” ( 如图 9-20 所示 ) 。

        

    图 9-19 课件的流程图      图 9-20 编辑“?”图标

    (36) 将“?”图标的内容设置为透明。

    (37) 播放、测试并保存课件,得到如图 9-21 所示的课件流程图。

    由于将“提示”及“?”图标的内容都设置为透明,这样无论是“请按任意键”,还是“你在键盘上输入的键名是”及其内容下方的背景中都能够显示出来,如图 9-22 所示。

        

    图 9-21 课件流程图    图 9-22 输入按键示例