按鍵響應是一種使用非常方便的響應類型,用戶只需按一個鍵便可完成觸發響應事件的功能。在大多數電腦游戲或多媒體軟件中,都提供了按鍵響應的功能。通過按鍵選擇項目或控制對象的動作。為了便于使用者操作,操縱桿也發揮著重要的作用,從本質上說,操縱桿只是按鍵響應的一種變化形式而已。
在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)文本框內輸入“//”。
新聞熱點
疑難解答