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