1)認識各種交互
為了實現人機交互功能、創造友好的人機界面,authorware6提供了11種交互方式,用于響應用戶對程序不同的操作。如圖所示: | ![]() |
這11種交互方式是:
(1)按鈕(button):用戶單擊按鈕執行響應程序?! ?點擊觀看按鍵操作課件)
(2)熱區(hot spot):設置一個區域范圍,程序根據用戶鼠標在該區域內單擊、雙擊或位于該區域上等情況決定執行響應程序。
(3)熱對象(hot object):選擇一個物體對象,根據鼠標單擊(雙擊)該對象或位于該對象之上決定執行響應程序。
(4)目標區(target area):設定一個區域,移動對象到該區域內執行該響應程序。
(5)下拉菜單(pull_down menu):彈出下拉菜單,點取選項執行不同的響應程序。
(6)條件響應(conditional):在程序運行過程中,如果條件成立就執行該響應程序。
(7)文字輸入(text entry):輸入文字,根據輸入的文字情況決定響應程序。
(8)鍵盤按鍵(keypress):敲擊鍵盤的設定鍵,執行響應程序。
(9)嘗試限制(tries limit):超出交互次數,執行響應程序。
(10)時間限制(time limit):超出時間,執行響應程序。
(11)事件響應(event):根據authorware中控件捕捉事件的不同,執行不同的響應程序。
2)認識交互圖標
交互就是程序響應用戶的操作,并根據用戶操作的不同來執行不同的程序分支。如常見的程序菜單就是一種交互功能,用戶選擇不同的菜單項,程序就執行相應的程序來實現用戶的要求。
在authorware交互的實現主要通過交互圖標來實現。交互圖標可以實現根據不同的用戶操作,執行不同的程序分支。從工具欄中拖動一個交互圖標到流程線上,再拖動一個組圖標掛接在交互圖標之下就會形成一個程序分支。根據用戶不同操作響應,執行不同的程序分支。
3)交互響應屬性的設置
選擇分支程序后調用modify-icon-response菜單命令,或雙擊流程線上交互類型標志,出現交互選項設置對話框。單擊對話框中response標簽,出現response選項卡,如圖所示: | ![]() |
(1)選擇交互類型
在type下拉列表框中選擇交互類型,在下拉列表中包含authorware中11交互方式。用戶可以根據需要選擇不同的交互方式。
(2)設置擦除效果
在ersae下拉列表框中設定程序指何時擦除交互分支程序所顯示的內容,相當于在分支程序中的適當位置加了一個擦除圖標。這個擦除圖標效果是很有用的,我們經常要設置一種擦除方式,以便在顯示下一步內容時,擦除上一部的內容。 在擦除項的下拉列表中有四種擦除方式。如圖所示: | ![]() |
選擇after next entry選項,程序進入另一個交互分一支后,擦除前一個分支所顯示的所有內容。這種方式將把前一個響應分支所顯示的內容一直保留在屏幕上,直到程序響應用戶下一個交互操作后。
選擇before next entry選項,程序在準備進入另一個交互分支之前就擦除前一個分支所顯示的所有內容。即程序一執行完某個分支程序后就自動擦除分支程序中所顯示的內容,選擇該項時要考慮到終用戶足夠時間來看清顯示內容。
選擇on exit選項將在authorware退出交互圖標時,擦除該分支所顯示的內容。
選擇don't erase選項,程序將保留屏幕上交互分支所顯示的內容,直到它被一個擦除圖標擦除。
(3)設定在分支內容執行后程序的走向
在branch下拉列表框中設定在分支內容執行后程序的走向,如圖所示,分支走向有以下選擇try again選項, authorware程序在執行完一個交互分支程序后,回到交互圖標中,以實現重新響應用戶操作。 | ![]() |
選擇continue選項,authorware程序在執行完一個交互分支程序后沿原路返回,并檢查是否有其他分支響應等待執行。如果有,就執行下一個響應分支程序,如果沒有,則回到交互圖標中,以實現重新響應用戶操作。
選擇exit interaction選項,程序在執行完該分支后就退出該交互作用分支結構,繼續執行流程線上其他圖標。
如果在scope選項中單擊perpetual復選框,則交互響應在用戶退出該交互圖標后仍然保持有效,同時分支結構中會增加一個return選項,當選擇return選項后,程序在其他任何地方都可以激活該交互響應,并且,當該交互分支程序執行完后自動恢復到原激發響應處。
(4)跟蹤記錄用戶響應
authorware根據status下拉列表框中的設走來記錄判斷用戶交互操作正確與否。共有三個選擇項:
選擇not judged選項,不判斷正誤,即程序不跟蹤記錄用戶響應。
選擇correct response選項,即選擇了正確響應狀態后,當用戶響應了此交互后,程序將給用戶正確操作次數加1。
選擇wrong response選項,即選擇了錯誤響應狀態后,當用戶響應了此交互后,程序將給用戶錯誤操作次數加1。
當分支響應設為正確響應時,在相應的圖標名前出現一個“+”標志,當分支響應設為錯誤響應時,在相應的圖標名前出現一個“-”標志。
每當用戶響應一個標有正確響應標志(或錯誤響應標志)的分支,authorware程序會自動跟蹤用戶響應路徑,并把用戶正確操作次數加1(或錯誤操作次數加1),然后把值存放在系統變量中。與此響應狀態設置有關的系統變量有:
響應狀態設置項很有用,當要求為用戶操作過程中判斷正確率打分時,利用該功能可以方便地實現。
(5)設置交互響應觸發條件
active if文本框用于設置交互響應是否有效??梢栽赼ctive if文本框中輸入數值或表達式。
當數值或表達式為真(l)時,該交互響應有效;
當數值或表達式為假(0)時,該交互響應無效,盡管該交互仍然存在,但它不響應用戶操作。
9.5.2 使用按鈕響應
通過按鈕進行交互是authorware中用得最多的一種交互方式。因為按鈕設計起來簡單而且容易被人所接受。按鈕響應是在程序中建立一個按鈕,當用戶用鼠標單擊該按鈕時,authorware會自動到該按鈕下的分支程序中去運行。為了滿足多媒體良好的用戶界面需要,在利用authorware進行多媒體設計時常常將按鈕圖形化,這樣容易與周圍環境相協調。
雙擊流程線上交互類型標志,出現交互選項設置對話框。從對話框type下拉列表框中選擇button交互類型,如圖所示,下面我們將對該選項卡設置作詳細介紹按鈕交互編程的整個過程。 | ![]() |
1)設置按鈕的大小、位置、名稱、快捷鍵以及默認按鈕
在size文本框中設置按鈕大小,在該項的文本框中輸入按鈕長和寬的數值或表達式來精確調節按鈕大小。按鈕大小可以用鼠標直接進行調節。
在location文本框中設置按鈕的位置,在該項文本框中輸入按鈕位置的坐標數值(以像素為單位,演示窗口左上角為原點)或表達式來調整按鈕在演示窗口中的位置。同樣按鈕的位置可以由鼠標在演示窗口中直接拖動按鈕來定位。
在label文本框中設置按鈕名稱,按鈕名稱欄、對話框最上一行的文本框中文字、設計窗口中對應的分支程序名以及程序運行后按鈕上的文字都是一致的。在label文本框中輸入新的按鈕名將同時改變其他幾項。
在key(s)文本框中設置快捷鍵,authorware按鈕交互除了單擊按鈕來執行相應的分支程序外,還可以通過設置的快捷鍵來激發執行相應的分支程序。
數字鍵、字母鍵以及功能鍵都可以被設置為快捷鍵;快捷鍵可以多重鍵匹配,多重鍵之間用“l”符號分隔開。如輸入“enter/esc”,剛敲擊“enter”鍵和“esc”鍵都會實現相同的響應交互;如果需要進行組合鍵響應時,則將兩鍵一起輸入即可。例如需要用戶輸入“aft+k”這樣的組合鍵,則只要在“key(s)”項中輸入“altk”。
選擇make default復選框,該選項將相應的按鈕設置為默認按鈕。默認按鈕是程序運行后當前按鈕,可以通過回車鍵來激發。
由于response選項卡中active if的設置,按鈕有“活動狀態”和“非活動狀態”之分,而非活動狀態按鈕是不可激發的,單擊它沒有任何意義。因此,一般按鈕處于非活動狀態是以灰色(dim)顯示,以與活動狀態按鈕相區分。而通過選擇hide when interactive復選框可以干脆將非活動狀態的按鈕不顯示出來。
2)設定按鈕形狀
authorware默認按鈕比較單調,缺乏變化。為了滿足多媒體良好的用戶界面需要,在利用authorware進行多媒體設計時常常將按鈕圖形化,這就需要進行一個符合外形需要的自定義按鈕。
單擊按鈕選項設置對話框中button按鈕,出現如圖所示的按鈕庫。按鈕庫中有標準的按鈕、復選框按鈕和單選按鈕。從按鈕庫中我們可以選擇一個現有的按鈕、編輯一個現有的按鈕或在按鈕庫中增加、刪除一個按鈕。 | ![]() |
3)設置光標形狀
在按鈕選項設置對話框中,還有一個設置鼠標形狀cursor項,該項是用來設置當鼠標位于按鈕之上時鼠標的形狀。單擊cursor選項右側的按鈕,彈出如圖所示的對話框,這是一個光標庫。 光標庫中有各種各樣的系統圖標,我們還可以利用其他工具來定制自己喜愛的光標,通過單擊add...按鈕來引入自定義光標形狀,然后可以向系統光標那樣使用。例如,我們將光標選擇成“手”形,程序運行后,每當鼠標移動到該按鈕上之后,鼠標的形狀就從箭頭形狀變成光標。 | ![]() |
4)編寫按鈕分支程序
當用戶單擊按鈕后,程序將執行按鈕分支路徑下的程序。該分支程序將決定程序響應操作后的運行動作。
雙擊分支路徑,打開下一層設計窗口,或者在按鈕選項對話框中,單擊open按鈕,也可以打開下一層設計窗口。在分支路徑層設計窗口中編寫響應后所要執行的程序。
9.5.3 使用熱區響應
熱區響應是在屏幕上建立一個特殊的區域,根據程序設計,當用戶鼠標在該區域單擊或上級,或者僅僅當鼠標移動到該區域之上就實現響應,執行該熱區響應響應下的分支程序。熱區響應設置對話框如圖所示: | ![]() |
1)設置熱區范圍大小、位置和快捷鍵
在size文本框中設置熱區范圍的大小,在該項的文本框中輸入熱區長和寬的數值或表達式來指定熱區范圍的大小。
在location文本框中設置熱區位置,在該項文本框中輸入熱區左上角在演示窗口中的坐標位置(以像素為單位)。
在key(s)文本框中設置熱區響應快捷鍵,通過按鍵盤上設置的快捷鍵來激發執行相應的熱區分支程序。
2)設置熱區響應觸發條件
在match下拉列表框中設置熱區響應觸發條件。在該下拉列表中有三個可選項:
選擇single-click,鼠標單擊熱區激發響應。
選擇double-click,鼠標雙擊熱區激發響應。
選擇cursor in area,鼠標在熱區上激發響應。
如果選擇了highlight on match復選框,則當對準熱區按下鼠標后,在熱區范圍內出現高亮度(反色顯示)。
如果選擇了mark on match復選框,則會在熱區上加上一個小方塊標志,當熱區被激發后,方塊標志被涂黑。
9.5.4 使用熱對象響應
熱對象的交互方式與熱區域的交互方式在使用上基本完全一樣,兩者的響應對話框也基本完全一樣。從前一節中我們可以看出,熱區域的設置只能是一個矩形區域,這就很難滿足某些編程需要,如進行不規則區域內響應。而熱對象就比較靈活,它把響應匹配附加在一個對象上,而不僅僅是一個固定區域內。利用這種功能,可以編寫出功能更強大的程序。
9.5.5 使用目標區域響應
目標區域響應是當用戶在交互中移動一個物體到指定的區域中去的響應。如果用戶拖動指定的物體到目標區域,則完成響應匹配,此時authorware將會運行該交互響應下的分支程序。
使用目標區域響應常用來實現設備的裝配、線路的連接、填空等與位置有關的操作。目標區域交互響應的初始狀態一般是物體隨便放置,用戶通過鼠標拖動物體到正確位置則完成交互過程。 在流程線上放置一個交互圖標,在該交互圖標的右側放置一個組圖標,這時選擇target area單選按鈕,選擇交互類型為目標區域的交互方式。雙擊目標區域響應類型標志 | ![]() |
在對話框target area選項卡中有目標區域響應設置的操作提示,它首先提示第一步操作一select a target object,即選擇一個目標物體;當我們用鼠標單擊演示窗口中某個對象后,提示第二步操作, drag object to the target position,即拖動物體到目標區域,用戶可以按照提示拖動物體到目標區域。用戶也可以在對話框中的size和location文本框中設定目標區域的大小和位置,將選定好目標物體拖動到該區域內即可完成響應匹配。
如果選擇對話框中accept any object復選框,則拖動任何物體到目標區域都會實現響應匹配。
authorware提供了三種方式用來設定物體被拖動到目標區域后如何定位,在drop下拉列表框中有三種選擇項:
選擇leave at destination選項,將物體放置在移動到的地方,不做任何調整。
選擇put back選項,則會將物體放回到屏幕上原來的位置,該選項對錯誤響應顯得非常有用。因為在錯誤拖動物體后,物體會放回原來位置,允許用戶再次嘗試。
選擇snap to center選項,將物體移動到目標區域的中間。用戶不可能精確地將拖動物體拖動到目標區域的中心,該選項對物體拖動到目標區域后進行位置調整,自動將物體調整到目標區域的中間,這個功能在拼圖、設備組裝等程序中很有用。
9.5.6 使用文本輸入響應
文本響應就是將用戶輸入的文字與預先設定的文字相比較,如果相同,則執行該交互下的分支程序。每個交互只能包含一個文本輸入區,在該文本輸入區內輸入的文字將與交互圖標中所有的文本響應進行比較,并執行匹配的分支程序。
在流程線上放置一個交互圖標,在該交互圖標的右側放置一個組圖標,這時選擇text entry 單選按鈕,設置交互類型為文本輸入響應的交互方式。雙擊文本輸入響應類型標志,彈出如圖所示的文本輸入響應設置對話框。 | ![]() |
1)預設文本
在pattern文本框中輸入預先設定的字符,程序運行后用戶輸入的字符都要同該字符進行比較,如果相同,則執行該文本輸入響應下的分支程序。
2)設置匹配方式
對話框中還有許多匹配方式設定選項。
(1)忽略匹配項
選擇capitalization復選框,則程序在檢查用戶輸入的字符與預設字符是否匹配時忽略大小寫的區別。
選擇spaces復選框,則程序在檢查用戶輸入的字符與預設字符是否匹配時忽略空格字符的差別。
選擇extra words復選框,則程序在檢查用戶輸入的字符與預設字符是否匹配時允許存在多余字。如預設字符為“beautiful”,如果用戶輸入“very beautiful”也將實現匹配。
選擇extra punctuation復選框,則程序在檢查用戶輸入的字符與預設字符是否匹配時允許用戶輸入的字符中存在多余的標點符號。
選擇word order復選框,則程序在檢查用戶輸入的字符與預設字符是否匹配時忽略字符順序的差別。
(2)指定匹配的單詞數
在match at least_words文本框中輸入指定的數字,則不必匹配所有的預設文本,只要匹配根據該項中設定的單詞數就實現響應。
(3)增量匹配
當匹配文本中包含不止一個單詞時,而你希望跟蹤用戶連續幾次輸入的文字時,選擇incremental matching復選框即可。
下面以我們以口令登錄程序為例說明文字輸入響應的使用??诹畹卿浾麄€程序過程非常簡單,其程序結構如圖所示: | ![]() |
(1)建立一個新文件,調整演示窗口的大小。
(2)從圖標工具欄中拖動一個顯示圖標到流程線中,將該顯示圖標命名為“口令”。在“口令”顯示圖標中設置顯示“請輸入您的口令”字樣。
(3)從圖標工具欄中拖動一個交互圖標到流程線上,在交互圖標下設置兩個組圖標,在彈出的對話框中選擇text entry單選按鈕,設置交互類型為文本輸入響應的交互方式。雙擊左側組圖標的文本輸入響應類型標志,在彈出的文本輸入響應對話框的pattern文本框中輸入“user”,即假設口令為“user”,如果用戶輸入匹配“user”則退出該交互圖標繼續向下執行“歡迎”顯示圖標,所以在對話框中將response標簽中的branch項設置為exit interaction。
另一個文本輸入預設匹配字符為“*”,它使用戶輸入其他任何文本都顯示警告,并要求重新輸入口令。
(4)在“歡迎”顯示圖標中輸入“口令正確,歡迎使用本軟件”字樣;在“警告”顯示圖標中顯示“口令不正確,請重新輸入”字樣,并等待1秒鐘后擦除該子,使用戶重新輸入。
(5)這時如果單擊工具欄上的運行按鈕,檢查程序運行結果。當用戶輸入“user”時,程序顯示“歡迎使用本軟件”;當用戶輸入其他任何字符時都顯示“口令不正確,重新輸入”。
9.5.7 使用條件響應
條件響應是當某個條件為真時觸發響應,程序將執行響應的分支。這里的條件是指變量或表達市。判斷變量或表達式是否為真時,可按如下標準:
1)變量值為零時條件為假,而其他非零值條件為真;
2)字符中“true”、“t”、“yes”和“on”等于真,所有其他字符等于假。
3)表達式成立則為真,否則為假。
在流程線上放置一個交互圖標,在該交互圖標的右側放置一個組圖標,這時選擇conditional單選按鈕,設置交互類型為條件響應的交互方式。返回流程線,雙擊響應類型按鈕,打開條件響應屬性對話框,如圖所示。 在condition文本框中輸入作為條件的變量或表達式,當該變量或表達式為真時,將實現響應,執行相應的下掛分支程序。 | ![]() |
在條件項中輸入的條件可以進行與、或、非等邏輯運算:
“/”:條件或a/b,當兩個條件中有一個滿足,則實現響應。
“&”:條件與a&b,當兩個條件同時滿足時,才實現響應。
“~”:條件非~a,當條件不滿足時實現響應。
automatic下拉列表框中的選項用來設定條件匹配狀態,它有三個可選項:
選擇off選項,則關掉匹配功能,即使條件為真時也不觸發響應。
選擇when true選項,則當條件為真時自動執行其相應的下掛分支程序。
選擇on false to true選項,則有在條件從假為真時,才觸發相應的下掛分支程序。
9.5.8 使用鍵盤響應
在前面講的各種響應方式中,幾乎都是采用鼠標來進行操縱控制,現在我們所講的內容是keypress(鍵盤響應),即當程序運行時,可以通過鍵盤操作來使程序產生響應。 有關鍵盤響應的設置最為簡單,雙擊鍵盤響應類型按鈕,打開如圖所示的鍵盤響應屬性對話框。在key文本框中輸入控制響應的字母鍵a、b、c、d...。 | ![]() |
讀者要注意,在key(s)文本框中可以輸入一個或多個可以有用戶敲擊并完成響應匹配的按鍵??梢允侨魏巫帜告I、數字鍵、功能鍵以及組合鍵。
9.5.9 使用次數限制響應
次數限制響應是指當在一個交互圖標中達到一定的響應次數后就執行該次數響應下的分支程序。 在對話框中maximum tries文本框中設置允許響應的最多次數,這個次數是用戶可以作出嘗試響應的次數。如果達到這個次數后,程序將到這個次數限制響應的分支程序中運行。 | ![]() |
9.5.10 使用菜單響應
菜單交互響應可以說是最常見的交互方式之一,現在幾乎所有的windows程序都有菜單選擇功能。菜單響應允許用戶從菜單中選擇一個菜單命令項,觸發相應的下掛分支程序,實現用戶的要求。
為了使程序能進行菜單交互,程序運行時必須要有菜單欄。選擇modify-file-properties打開文件設置對話框,選中menu bar復選框。系統默認的菜單是英文file菜單,如果我們想創建自己想要的菜單,可以先建立一個file菜單,然后用擦除圖標將該file菜單擦除。
在使用菜單交互時,每個交互圖標名對應一個菜單欄上的菜單。交互圖標下的每一個菜單交互對應該菜單下的菜單選項。
打開菜單響應設置對話框,在該對話框中:
| ![]() |
9.5.11 使用時間限制響應
程序設定一個時間值,當指定的時間一到時,就觸發該時間限制響應,執行起下掛的分支程序。
在time limit對話框中以秒為單位輸入一個時間限制,當該時間一到時就觸發時間限制響應。選擇show time remaining復選框則會在交互中顯示一個倒計時的鬧鐘來顯示該時限所剩余的時間。選擇restart for each try復選框,則每當用戶進行一次響應操作時,指定的時限重新開始計時。 | ![]() |
authorware程序在運行計時的過程中,如果被一個永久性的響應交互所中斷,那么怎樣計時呢?在interruption列表框提供了幾種計時方式:
l)繼續計時(continue timing):在跳到其他永久性交互過程中繼續計時。
2)暫停,返回時恢復(pause,resume on return):在跳到其他永久性交互過程中停止計時,當返回到限時的交互中時,authorware從以前的時間恢復計時。
3)暫停,返回時重新計時(pause, restart on return):在跳到其他永久性交互過程中停止計時,當返回到限時的交互中時,authorware重新開始計時。
4)暫停,返回時如果時限沒到則重新計時(pause,restart if running):與(pause,restedon return)基本相同,區別是當返回到限時的交互中時, authorware要判斷以前的時限是否已到,只有在以前時限未到的情況下才重新計時。
9.5.12 使用事件響應
事件交互,顧名思義,交互的激發是因為某個事件的發生。用戶鼠標的單擊、雙擊以及程序中某個數據的變化都是一個事件。產生事件的一方稱為發送者,發送者可以是用戶,也可以是程序中某個對象。
由于事件交互要涉及到一些activex技術,所以我們這里就不介紹了。
新聞熱點
疑難解答