按键响应是一种使用非常方便的响应类型,用户只需按一个键便可完成触发响应事件的功能。在大多数电脑游戏或多媒体软件中,都提供了按键响应的功能。通过按键选择项目或控制对象的动作。为了便于使用者操作,操纵杆也发挥着重要的作用,从本质上说,操纵杆只是按键响应的一种变化形式而已。
在authorware 6.0中,实现按键响应是通过在交互流程线上添加一个按键响应标识符来实现的,以达到对单独的按键、组合键或不同的键名作出响应的目的。在一些特殊情况下,还需要对用户按任何键都起反应。例如,在一项要求必需完成的操作里,当用户的操作失败之后,此时无论按任何键,都返回到操作的开始位置是非常合理的。
在开始使用authorware 6.0的按键响应之前,首先要弄清authorware 6.0中的键名与键盘按钮之间的对应关系(如表9-2所示)。凡是能够在键盘上看到键名,都能够在authorware 6.0中找到相应的键名。从总体上来说,对于一般的按键,直接使用其名称就可以了,但由于authorware 6.0严格区别英文字母的大小写,因此z和z是不一样的。
表9-2 authorware 6.0的键名与键盘按钮之间的对应关系
authorware 6.0的键名 | 键 盘 按 键 |
uparrow | 向上方向键 |
downarrow | 向下方向键 |
leftarrow | 向左方向键 |
rightarrow | 向右方向键 |
alt | alt键 |
control | control键 |
ctrl | ctrl键 |
shift | shift键 |
pageup | pageup键 |
pagedown | pagedown键 |
home | home键 |
end | end键 |
backspace | backspace键 |
clear | 无 |
break | break键 |
cmd | cmd键 |
delete | delete键 |
enter | enter键 |
return | return键 |
f1-f15 | f1-f15键 |
help | 无 |
ins insert | ins insert键 |
escape | escape键 |
pause | pause键 |
tab | tab键 |
对比在此之前讨论的响应类型,可以发现使用按键响应的时机也是非常重要的,不应该奢望按键响应代替其他的交互响应类型。最明显的例子就是在按钮响应、热区响应、热对象响应和下拉菜单响应中,都提供了通过key文本框设置快捷键的方法,这时使用按键响应实现相同的快捷键功能则是没有必要的。对于文本输入响应来说,输入完毕之后单击回车键就是触发响应事件的最好形式,使用按键响应则是画蛇添足。
在设置按键响应属性之前,必须创建一个具有按钮响应的交互流程图。创建的方法与其他的交互响应非常类似,首先在流程线上添加一个交互图标,然后将结果图标拖动到交互图标的右侧,此时将打开response type对话框,选中keypress单选按钮并单击ok按钮之后,就会产生一个新的按钮响应。需要创建多个按键响应,可重复上述的步骤,如图9-12所示,就是一个包含3个按键响应的流程图。
双击按键响应的标识符之后,将打开properites:response对话框,它包括两个选项卡,其中response选项卡同其他响应类型的response选项卡基本相同,惟一的区别就是scope文本框被禁止使用,这样不能把按键响应设置成perpetual类型的。
选择keypress标签时,将打开keypress选项卡(如图9-13所示),它是所有交互响应的属性选项卡中最简单的一个,只包含一个key(s)文本框,它用于输入一个或多个键名以便与键盘按键相匹配,并且在此输入的键名将作为结果图标的名称。在key(s)文本框内输入键名时,需要注意以下事项:
图9-13 keypress选项卡
(1) 一个按钮响应可以控制多个按钮。如果希望用户单击x、y、z中的任一个键时都能够触发相同的按键响应,可在key(s)文本框内输入“x|y|z”,这里的“|”代表一种“或”关系。
(2) 由于authorware 6.0严格区别英文大小写,这样让大小写字母匹配相同的按键响应是非常必要的,因为不小心按下cap lock键的情况是经常发生的。它同样可以借助“|”来实现。例如,在key(s)文本框内输入“x|x,y|y”之后,表示无论单击大、小写的x、y都能够触发相同的按键响应。
(3) 需要使用组合键时,可直接在key(s)文本框内输入控制键的名称,后面直接跟按键名即可。例如,希望使用ctrl+a触发按键响应时,可在key(s)文本框内输入ctrla。
(4) ?一般用于匹配任何键,应用于处理不符合正确响应的过程中,并且放置在交互流程线的最右边。如果希望将?作为响应键时,可在key(s)文本框内输入“/?”。如果希望将/作为响应键时,可在key(s)文本框内输入“//”。
新闻热点
疑难解答