主要內(nèi)容
在該實例中,我們引入了數(shù)字化電影和聲音文件等媒體信息,程序的最終結(jié)果如圖10-1所示。圖中的圓形問號區(qū)域是數(shù)字化電影的第一幀。
該程序的功能是當(dāng)最終用戶將鼠標(biāo)移動到圖10-1所示 問號所在的圓形區(qū)域中時,播放問號的數(shù)字化電影。當(dāng)我們用鼠標(biāo)單擊該區(qū)域時,問號飛快地移動到展示屏幕外,一旦我們在一定時間內(nèi)沒有任何動作的話,程序會顯示一個聲音和文本信息來引起讀者的注意。
圖10-1 程序最終結(jié)果展示畫面
該實例的目的是讓讀者熟悉authorware如何引入各種媒體來綜合編程,對不同的媒體有其特有的引入方式和控制方式。在該實例中我們學(xué)習(xí)數(shù)字化電影和聲音媒體的引入。同時,學(xué)習(xí)【交互作用】分支結(jié)構(gòu)的設(shè)計,使用熱對象來創(chuàng)建響應(yīng)分支。同時學(xué)習(xí)對顯示對象運動的控制。
基本操作提要
在該實例中我們使用了authorware提供的如下內(nèi)容:
【數(shù)字化電影】設(shè)計按鈕用來引入數(shù)字化電影,并對電影的播放進行控制。
【聲音】設(shè)計按鈕用來引入聲音信息,并對聲音的播放進行控制。
【交互作用】分支結(jié)構(gòu)可以根據(jù)用戶不同的響應(yīng)來進入不同的反饋分支,執(zhí)行不同的反饋內(nèi)容。
【熱對象】響應(yīng)方式。
【移位】設(shè)計按鈕用來實現(xiàn)將問號飛快地移動到展示屏幕外。
【運算】設(shè)計按鈕用來輸入源程序并進行相關(guān)的設(shè)置。
【等待】設(shè)計按鈕。
邏輯運算符和系統(tǒng)變量的使用。
實例過程
步驟1:建立新文件,設(shè)置展示窗口:
圖10-2 【properties】對話框設(shè)置
(1) 使用authorware的【file】>【new】>【file】命令選項(快捷鍵為ctrl+n),或者使用工具欄中的【new】命令按鈕來打開一個新的設(shè)計窗口。
(2) 使用authorware的【modify】>【file】>【properties】命令選項(快捷鍵為ctrl+shift+d),彈出【properties】對話框,如圖10-2所示。在該對話框中的相關(guān)設(shè)置如下:
(3) 在【size】下拉列表中選擇【variable】選項,使展示窗口是可以由用戶來調(diào)整的。
其它的選項均如圖10-2所示來設(shè)置。
(4) 單擊【ok】命令按鈕結(jié)束該對話框的設(shè)置。
提示:
當(dāng)我們在【properties】對話框的【size】下拉列表中選擇【variable】選項時,則在程序設(shè)計過程中,用戶可以調(diào)整展示窗口的大小,最終展示窗口的大小以讀者最后一次調(diào)整的大小為準(zhǔn)。
步驟2 進一步調(diào)整展示窗口的大小和位置,具體內(nèi)容見實例9。
步驟3 引入數(shù)字化電影,在展示窗口中插入問號數(shù)字化電影:
(1) 拖曳一個【數(shù)字化電影】設(shè)計按鈕到程序的主流程線上,命名為“問號”。
(2) 雙擊打開該設(shè)計按鈕的【movie】對話框,如圖10-3所示。單擊該對話框中的【import】命令按鈕彈出【import file】對話框來引入【數(shù)字化電影】文件。
圖10-3 【movie】對話框的設(shè)置
(3) 該對話框中的相應(yīng)選項設(shè)置內(nèi)容如圖10-3所示。顯示模式設(shè)置為【matted】。
該電影為內(nèi)部文件,由于沒有光盤的發(fā)行,讀者可能沒有該數(shù)字化電影文件,不過,沒有關(guān)系,讀者可以在這里引入任何一個數(shù)字化電影。該實例僅僅是讓讀者學(xué)習(xí)authorware所提供的各種功能的使用,不必要刻意追求與書本實例的相同。
(4) 單擊【timing】命令按鈕,彈出如圖10-4所示的對話框。
圖10-4 【timing】對話框
該對話框中相關(guān)選項的設(shè)置如下:
在【concurrency】:選項列表中選擇【perpetual】選項。
在【play】:選項列表中選擇【fixed number of times】,按照設(shè)定的播放次數(shù)來播放。
該正文輸入框中輸入播放次數(shù): 1 。
【播放速率】:正文輸入框中輸入20 ,含義是每秒播放20幀。
選擇【play every frame】選項,播放數(shù)字化電影中所有的幀。
在【start frame】和【end frame】正文輸入框中輸入的是播放數(shù)字化電影的起始幀和終止幀。在這里我們輸入兩個變量:startqi和endqi。
技巧:
在控制數(shù)字化電影或聲音等媒體信息時,我們可以在其屬性對話框中輸入變量來控制該媒體的播放。例如在本實例中,我們在起始幀和終止幀正文輸入框中都輸入一個變量,這樣,通過對變量值的控制,我們就可以實現(xiàn)對媒體信息播放方式的控制。這樣,最終用戶可以在程序的執(zhí)行過程中實現(xiàn)對媒體播放控制的改變。
5.單擊【layout】命令按鈕,彈出【layout】對話框(如圖10-5所示):
圖10-5 數(shù)字化電影的【layout】對話框
在該對話框中,相關(guān)選項設(shè)置如下:
在【positioning】:下拉選項列表中選擇【no change】選項,表示該【數(shù)字化電影】在展示窗口中的位置最終用戶是不可改變的。
在【movable】:下拉選項列表中選擇【never】,表示該【數(shù)字化電影】在展示窗口中是不能被最終用戶移動的。
6.單擊對話框中的【ok】命令按鈕結(jié)束對該【數(shù)字化電影】屬性對話框的設(shè)置。
步驟4 為【數(shù)字化電影】設(shè)計按鈕加上一個【運算】設(shè)計按鈕作為裝飾,目的是用來設(shè)置控制播放數(shù)字化電影的起始幀和終止幀的兩個變量:startqi和endqi:
(1) 用鼠標(biāo)單擊流程線上的【數(shù)字化電影】設(shè)計按鈕,使其處在選中狀態(tài)。
(2) 選擇authorware窗口【modify】菜單中的【icon】級聯(lián)菜單中的【calculation】命令選項(快捷鍵為ctrl+=),彈出圖10-6所示的【運算】設(shè)計按鈕對話框。
圖10-6 設(shè)置數(shù)字化電影的起始幀和終止幀
(3) 在該對話框中輸入的內(nèi)容如下:
startqi := endqi := 1
該表達式的含義是將startqi 和endqi 兩個變量的值設(shè)置為1,也就是,播放該數(shù)字化電影的起始幀和終止幀都是1。在展示窗口中該數(shù)字化電影將僅僅顯示第一幀。
(4) 關(guān)閉該對話框,彈出圖10-7所示的確認(rèn)保存輸入內(nèi)容的對話框。單擊該對話框中的【yes】命令按鈕,確認(rèn)保存在該對話框中輸入的內(nèi)容。加上裝飾后的【數(shù)字化電影】設(shè)計按鈕如圖10-8所示。
圖10-7 確認(rèn)輸入內(nèi)容的對話框
圖10-8 程序邏輯結(jié)構(gòu)
步驟5 拖曳一個【交互作用】設(shè)計按鈕到圖10-8所示的位置,創(chuàng)建【交互作用】分支結(jié)構(gòu):
雙擊打開該【交互作用】設(shè)計按鈕。使用【圖形工具箱】中的繪圖工具,在打開的展示窗口中創(chuàng)建一個背景圖案,如圖10-9所示。
圖10-9 在展示窗口中創(chuàng)建圖形和文本
提示:
在創(chuàng)建背景圖案的時候我們使用了如下工具:
【圖形工具箱】中的矩形繪圖工具。
【圖形工具箱】中的填充工具(雙擊橢圓繪圖工具彈出填充對話框)。
【圖形工具箱】中的文本輸入工具。
步驟6 為【交互作用】設(shè)計按鈕加上裝飾。目的是存儲【數(shù)字化電影】在展示窗口中的原始位置:
(1) 選擇authorware窗口【modify】菜單中的【icon】級聯(lián)菜單中的【calculation】命令選項(快捷鍵為ctrl+=),彈出圖10-10所示的【運算】設(shè)計按鈕對話框。
圖10-10 【運算】設(shè)計按鈕對話框
在該對話框中輸入的內(nèi)容如下:
saveqipos := point( displayx@"問號", displayy@"問號" )
saveqipos為一個自定義變量,它存儲的是該【數(shù)字化電影】的原始位置。
知識點:
point()函數(shù):該函數(shù)存儲的是一點的坐標(biāo)值。例如point(x,y),x和y就是屏幕坐標(biāo)中的一點的x和y的坐標(biāo)。
提示:
關(guān)于屏幕坐標(biāo)系和displayx、displayy變量的具體含義參見實例9。
(2) 關(guān)閉該對話框,authorware會彈出確認(rèn)保存輸入內(nèi)容的對話框,單擊該對話框中的【yes】命令按鈕,authorware自動檢測該對話框中輸入的內(nèi)容,彈出圖10-11所示的新建變量對話框。單擊該對話框中的【ok】命令按鈕,關(guān)閉該對話框,完成對新建變量saveqipos的設(shè)置。
圖10-11 新建變量對話框
步驟7 設(shè)置【交互作用】分支結(jié)構(gòu)的第一個分支,實現(xiàn)功能:當(dāng)鼠標(biāo)移動到【數(shù)字化電影】上方時,播放一遍該數(shù)字化電影:
(1) 拖曳一個【映射】設(shè)計按鈕到圖10-12所示的【交互作用】設(shè)計按鈕下方,彈出圖10-12所示的【響應(yīng)類型】對話框。
圖10-12 設(shè)置【交互作用】分支結(jié)構(gòu)的分支
(2) 在圖10-12的對話框中選擇【hot object】熱對象選項,單擊【ok】命令按鈕結(jié)束選擇。
(3) 然后將該響應(yīng)分支命名為“轉(zhuǎn)動問號”,如圖10-13所示。
圖10-13 設(shè)立響應(yīng)分支
(4) 雙擊圖10-13中響應(yīng)分支的響應(yīng)類型符號,彈出響應(yīng)類型對話框,如圖10-14所示,設(shè)置該對話框。
圖10-14 響應(yīng)類型對話框
(5) 該對話框中的各項設(shè)置如圖所示:
首先,單擊展示窗口中的數(shù)字化電影問號,將該對象設(shè)置為熱對象,在【hot object】區(qū)域出現(xiàn)該熱對象的名稱。
key(s):空白。
【m atch】下拉列表選擇【cursor on object】,意思是當(dāng)鼠標(biāo)移動到熱對象上時則匹配響應(yīng)。
【cursor】選擇如圖所示的鼠標(biāo)類型:意思是當(dāng)鼠標(biāo)移動到熱對象上的時候,鼠標(biāo)改變?yōu)閳D示鼠標(biāo)形狀。
(6) 單擊圖10-14中的【response】命令按鈕,彈出【response】對話框,如圖10-15所示。
圖10-15 【response】對話框
(7) 該對話框中設(shè)置如下:
在【erase】:下拉選項列表選擇【don’t erase】選項。
在【branch】:下拉選項列表選擇【try again】選項。
(8) 單擊【ok】命令按鈕,結(jié)束對響應(yīng)類型屬性對話框的設(shè)置。
(9) 雙擊該【映射】設(shè)計按鈕,打開第二層設(shè)計窗口,進行響應(yīng)分支內(nèi)容的設(shè)置。
(10) 拖曳一個【運算】設(shè)計按鈕到第二層設(shè)計按鈕,命名為“重新設(shè)置”。雙擊打開該設(shè)計按鈕對話框,如圖10-16所示。
圖10-16 重新設(shè)置【運算】設(shè)計按鈕對話框
(11) 在該對話框中輸入的內(nèi)容如圖10-16所示:
輸入內(nèi)容的含義是:將控制播放問號數(shù)字化電影的兩個變量startqi 和endqi 的值設(shè)定為1,將起始幀和終止幀都設(shè)定為第一幀。也就是說,數(shù)字化電影在展示窗口中只顯示第一幀。
(12) 關(guān)閉該對話框。單擊確認(rèn)保存輸入內(nèi)容對話框中的【yes】命令按鈕,確認(rèn)保存在該對話框中輸入的內(nèi)容。
(13) 拖曳一個【等待】設(shè)計按鈕到圖10-17所示的位置。
圖10-17 第二層設(shè)計窗口邏輯結(jié)構(gòu)
(14) 雙擊打開該設(shè)計按鈕,如圖10-18所示,設(shè)置該對話框如圖所示,等待時間設(shè)置為0.1秒,目的是讓authorware有時間來設(shè)置“重新設(shè)置”【運算】設(shè)計按鈕中所設(shè)定的內(nèi)容。
圖10-18 【等待】設(shè)計按鈕對話框
(15) 拖曳一個【運算】設(shè)計按鈕到圖10-19所示的位置,命名為“旋轉(zhuǎn)一次”。雙擊打開該對話框,在該對話框中輸入源程序,如圖10-20所示。
圖10-19 在第二層設(shè)計窗口中添加【運算】設(shè)計按鈕 圖10-20 【運算】設(shè)計按鈕對話框
在該對話框中,輸入內(nèi)容的含義是將控制數(shù)字化電影播放的兩個變量分別賦值,將起始幀設(shè)定為1,將終止幀設(shè)定為21 ,意思是播放一次“問號”設(shè)計按鈕中的數(shù)字化電影。
(16) 關(guān)閉該【運算】設(shè)計按鈕對話框,authorware會彈出確認(rèn)保存輸入內(nèi)容的對話框。單擊該對話框中的【yes】命令按鈕。
(17) 關(guān)閉該【映射】設(shè)計按鈕,結(jié)束對該響應(yīng)分支的設(shè)置。
步驟8 設(shè)置【交互作用】分支結(jié)構(gòu)的第二個分支,實現(xiàn)功能:當(dāng)鼠標(biāo)單擊【數(shù)字化電影】在展示窗口中顯示的問號時,該數(shù)字化電影飛出展示窗口:
(1) 拖曳一個【映射】設(shè)計按鈕到圖10-21所示的【交互作用】設(shè)計按鈕的下方,authorware自動將該分支結(jié)構(gòu)的響應(yīng)類型設(shè)置為熱對象響應(yīng),將該響應(yīng)分支命名為“鼠標(biāo)單擊”。
圖10-21 設(shè)立第二響應(yīng)分支
(2) 雙擊圖10-21中第二響應(yīng)分支的響應(yīng)類型符號,彈出響應(yīng)類型對話框,如圖10-22所示,設(shè)置該對話框。
圖10-22 響應(yīng)類型對話框
(3) 單擊展示窗口中的數(shù)字化電影在展示窗口中的第一幀的圖像,將該數(shù)字化電影設(shè)置為熱對象。
在【match】:下拉選項列表中選擇【single-click】選項,即當(dāng)最終用戶單擊展示窗口中的數(shù)字化電影時,匹配該響應(yīng)分支。
(4) 單擊圖10-22中的【response】命令按鈕,彈出【response】對話框,對該對話框進行設(shè)置,如圖10-23所示。設(shè)置內(nèi)容如下:
圖10-23 響應(yīng)類型的【response】對話框
在【erase】:下拉列表選項中選擇【don’t erase】。
在【status】:下拉選項中選擇【not judged】。
在【branch】:下拉選項列表中選擇【try again】。
(5) 單擊該對話框中的【ok】命令按鈕,結(jié)束設(shè)置。
(6) 雙擊圖10-21中第二響應(yīng)分支中的【映射】設(shè)計按鈕,打開該設(shè)計按鈕為第二層的設(shè)計窗口。在該設(shè)計窗口中我們來設(shè)置第二響應(yīng)分支路徑的反饋內(nèi)容。
提示:
該反饋實現(xiàn)的功能是:當(dāng)最終用戶用鼠標(biāo)單擊該“問號”數(shù)字化電影在展示窗口中所在的位置時,該數(shù)字化電影將以一定速度飛出展示窗口。
(7) 拖曳一個【聲音】設(shè)計按鈕到打開的第二層設(shè)計窗口,雙擊打開該設(shè)計按鈕,彈出圖10-24所示的引入聲音文件對話框。
圖10-24 引入聲音文件對話框
(8) 同引入數(shù)字化電影方法類似,單擊【import】命令按鈕,彈出【import file】對話框,引入聲音文件。讀者可以自行引入合適的聲音文件。
(9) 單擊圖10-24中的【timing】命令按鈕,彈出圖10-25所示的【timing】播放控制對話框,設(shè)置該對話框。
圖10-25 【timing】播放控制對話框
(10) 圖10-25對話框的設(shè)置如下:
【concurrency】并發(fā)性選項選擇【concurrent】。選擇該選項,當(dāng)執(zhí)行該聲音文件時,authorware可以繼續(xù)執(zhí)行該設(shè)計按鈕后面的設(shè)計按鈕。
【play】:播放控制選擇【fixed number of times】,即按照固定的播放次數(shù)來播放。
在下面的正文輸入框中輸入次數(shù)為1,即播放的次數(shù)為1次。
【rate】:正文輸入框中輸入的是播放速率,我們使用正常播放速度100%。
其它的選項我們使用authorware的默認(rèn)選項,不進行修改。
單擊該對話框中的【ok】命令按鈕,結(jié)束設(shè)置關(guān)閉該對話框。
(11) 拖曳一個【移位】設(shè)計按鈕到第二層設(shè)計窗口流程線上【聲音】設(shè)計按鈕后,命名為“飛出展示窗口”。
(12) 雙擊該【移位】設(shè)計按鈕,打開【移位】設(shè)計按鈕的【motion】對話框,如圖10-26所示,在該對話框中設(shè)置移動的控制條件。
圖10-26 【移位】設(shè)計按鈕中的【motion】對話框
(13) 其它相關(guān)的設(shè)置如圖10-26所示。
提示:
移動對象的方式為【direct to point】,即直接運動到一固定點。移動的速度以時間來控制,即在一秒鐘的時間內(nèi),將對象移動到固定點上。在該實例中,【移位】設(shè)計按鈕將移動的對象在一秒鐘內(nèi)移動到設(shè)定的固定點。
(14) 單擊該對話框中的【layout】命令按鈕,彈出【移位】設(shè)計按鈕的【layout】對話框,如圖10-27所示,設(shè)置該對話框。
圖10-27 【移位】設(shè)計按鈕的【layout】對話框
(15) 用鼠標(biāo)單擊展示窗口中的數(shù)字化電影在展示窗口中顯示的對象,將該數(shù)字化電影設(shè)定為【移位】設(shè)計按鈕移動的對象。
(16) 在該對話框中輸入對象運動的目標(biāo)點的坐標(biāo):
x坐標(biāo):800, y坐標(biāo):random(-600,600,1)
意思是在x方向,問號運動到展示窗口外某一固定的x坐標(biāo)值為800的線上。對于y方向的坐標(biāo),我們使用了一個隨機數(shù),使用該隨機數(shù),則可以實現(xiàn)問號運動的隨機性,每一次單擊該熱對象,熱對象飛出展示窗口的方向都不同。但由于x方向坐標(biāo)的限制,熱對象總是飛向展示窗口的右方。
知識點:
random(min, max, units)函數(shù),該函數(shù)產(chǎn)生一個介于min 和 max兩個值之間,小數(shù)點如uints所示的隨機數(shù),例如random(-600, 600, 1)產(chǎn)生的隨機數(shù)是介于-600和600之間,如123、234、333、334等的隨機數(shù)。隨機數(shù)的最小與units相同。
(17) 單擊對話框中的【ok】命令按鈕結(jié)束設(shè)置。
(18) 如圖10-28所示拖曳一個【判定】設(shè)計按鈕到第二層設(shè)計窗口中的流程線上,命名為“鼠標(biāo)離開”,拖曳一個【映射】設(shè)計按鈕到【判定】設(shè)計按鈕下,作為該【判定】設(shè)計按鈕的一個分支,命名為“空操作”。
圖10-28 設(shè)置判定分支結(jié)構(gòu)
(19) 雙擊圖10-28所示的【判定】設(shè)計按鈕,彈出圖10-29所示的【判定】設(shè)計按鈕對話框。對該對話框中的相關(guān)設(shè)置如下所述:
圖10-29 【判定】設(shè)計按鈕屬性對話框
在【repeat】:下拉列表選項選擇【until true】,即當(dāng)條件輸入框中輸入的內(nèi)容為真時退出該分支結(jié)構(gòu),否則一直循環(huán)下去。
在該條件輸入框中,我們輸入~mousedown。
在【branch】選項列表中選擇順序執(zhí)行,即【sequentially】選項被選。
知識點:
~mousedown的含義:
mousedown為authorware提供的自變量,當(dāng)鼠標(biāo)按下時,該變量為true。
~為邏輯運算符,即邏輯非。
~mousedown的含義是對邏輯變量mousedown取非,當(dāng)mousedown為false,即鼠標(biāo)沒有按下的情況時,~mousedown為true 。也就是說,當(dāng)鼠標(biāo)松開的情況下,退出該【判定】分支結(jié)構(gòu)。
(20) 單擊【ok】命令按鈕關(guān)閉該對話框。程序的流程線改變?yōu)槿鐖D10-30所示。
圖10-30 程序的流程結(jié)構(gòu)
21.雙擊圖10-30所示的【判定】分支結(jié)構(gòu)中連接【判定】設(shè)計按鈕和判定分支之間的小菱形符號,彈出如10-31所示的屬性對話框。
圖10-31 判定分支擦除屬性對話框
(22) 在該對話框中對分支結(jié)構(gòu)內(nèi)容的擦除設(shè)置。我們在這里使用authorware的默認(rèn)設(shè)置【before next selection】,即在執(zhí)行下一分支前擦除該分支結(jié)構(gòu)中的顯示信息。
(23) 單擊【ok】命令按鈕結(jié)束設(shè)置。
(24) 該分支結(jié)構(gòu)中的【映射】設(shè)計按鈕中設(shè)置為空。
技巧:
該【判定】分支結(jié)構(gòu)使用【判定】設(shè)計按鈕對響應(yīng)的匹配和控制實現(xiàn)了特定的功能。【判定】設(shè)計按鈕并不僅僅使用來創(chuàng)建執(zhí)行任務(wù)的判定分支結(jié)構(gòu),還可以用來實現(xiàn)特殊的任務(wù),在該實例中,我們使用【判定】分支結(jié)構(gòu)來實現(xiàn):當(dāng)鼠標(biāo)按下的情況下,authorware循環(huán)執(zhí)行該判定分支中的空操作,也就是說,當(dāng)最終用戶一旦按住鼠標(biāo)的話,authorware一直進行空操作。只有當(dāng)鼠標(biāo)左鍵松開后才開始執(zhí)行下面的設(shè)計按鈕中的內(nèi)容。
(25) 拖曳一個【移位】設(shè)計按鈕到圖10-32所示的程序流程線上的位置,命名為“復(fù)位”。
圖10-32 添加【移位】設(shè)計按鈕
(26) 雙擊打開該【移位】設(shè)計按鈕,彈出【移位】設(shè)計按鈕的【motion】對話框,如圖10-33所示。
圖10-33 【移位】設(shè)計按鈕的【motion】對話框
在該對話框中的相關(guān)設(shè)置如圖所示:
在【type】:下拉選項列表中選擇【direct to point】選項,移動物體到固定點。
物體的運動時間設(shè)置為0,就是說移動的對象直接跳到目的地。
對【concurrency】并發(fā)選項選擇【wait until done】,意思是只有該移位設(shè)計按鈕對對象的移動完成后,authorware才可以執(zhí)行其它的設(shè)計按鈕。
(27) 單擊該對話框中的【layout】命令按鈕,彈出【移位】設(shè)計按鈕的【layout】對話框,如圖10-34所示。
圖10-34 【移位】設(shè)計按鈕的【layout】對話框
28.用鼠標(biāo)單擊展示窗口中的數(shù)字化電影在展示窗口中顯示的對象,將該數(shù)字化電影設(shè)定為【移位】設(shè)計按鈕移動的對象。
(29) 該對話框中其它的相關(guān)設(shè)置如下所述:
在目的地【destination】正文輸入框中輸入如下內(nèi)容:
x坐標(biāo):saveqipos[1]
y坐標(biāo):saveqipos[2]
提示:
在該正文輸入框中,我們輸入了兩個變量,分別代表數(shù)字化電影在展示窗口中的原始位置。 其中saveqipos := point( displayx@"問號", displayy@"問號" ),saveqipos[1]為point()函數(shù)的x坐標(biāo),saveqipos[2]為point()函數(shù)的y坐標(biāo)。
(30) 單擊【ok】命令按鈕,完成【移位】設(shè)計按鈕屬性對話框的設(shè)置。
步驟9 設(shè)置【交互作用】分支結(jié)構(gòu)的第三個分支:
(1) 拖曳一個【映射】設(shè)計按鈕到圖10-35所示的位置,來設(shè)置【交互作用】分支結(jié)構(gòu)的第三條分支。authorware自動將該分支結(jié)構(gòu)的響應(yīng)類型設(shè)置為熱對象響應(yīng)。
圖10-35 添加第三條分支路徑
(2) 用鼠標(biāo)雙擊圖10-35中第三個分支的響應(yīng)類型圖標(biāo),彈出圖10-36所示的對話框。
圖10-36 響應(yīng)類型選擇對話框
響應(yīng)類型對話框中相關(guān)選項的設(shè)置如下:
在【type】響應(yīng)類型下拉列表中選擇【time limit】,使用時間限制響應(yīng)類型。
在【time limit】正文輸入框中輸入時間限制random(3, 9, 0.25),時間的限制為一個隨機的介于3秒和9秒之間的一個值。
在【interruption】下拉列表中選擇【pause,restart on return】選項。
在【option】選項中選擇【restart for each try】。
提示:
時間限制響應(yīng)就是在一定的時間內(nèi),如果【交互作用】設(shè)計按鈕沒有任何響應(yīng)匹配,則執(zhí)行該時間限制響應(yīng)分支中的反饋信息。
(3) 單擊該對話框中的【response】命令按鈕,彈出【response】對話框,如圖10-37所示。
圖10-37 時間限制響應(yīng)的【response】對話框
(4) 該對話框中相關(guān)選項的設(shè)置如下:
在【active if】正文輸入框中輸入條件正文對象。在這里我們輸入:~mediaplaying@"問號"&~animating@"問號"&(~mousedown)。
在【erase】擦除選項選擇【before next entry】。
在【status】下拉選項列表選擇【not judged】。
在【branch】下拉選項列表選擇【try again】。
知識點:
【active if】中輸入的條件正文,在authorware中,只有該正文輸入框中輸入的正文為真的時候,該響應(yīng)分支結(jié)構(gòu)才可以起作用。否則,該分支路徑不能響應(yīng)任何匹配。
mediaplaying@"問號" 為系統(tǒng)變量mediaplaying的引用形式,如果正在播放標(biāo)題為“問號”的【數(shù)字化電影】設(shè)計按鈕中的數(shù)字電影,則該引用變量為true。對該引用變量取非:~mediaplaying@"問號"為false。否則為true。
animating@"問號" 為系統(tǒng)變量animating的引用形式,如果authorware正在移動標(biāo)題為“問號”的【數(shù)字化電影】設(shè)計按鈕中的數(shù)字電影,則該引用變量為true。對該引用變量取非:~animating@"問號"為false。否則為true。
“&”為邏輯與。例如:a:=con1&con2,只有con1和con2兩個變量同時為true時,變量a的值才為true。
在該實例中,只有~mediaplaying@"問號"、~animating@"問號"、(~mousedown)三個變量同時為true時,【active if】正文輸入框中的條件變量才為true。
(5) 單擊【ok】命令按鈕,結(jié)束響應(yīng)類型的設(shè)置。
(6) 雙擊圖10-35所示的【交互作用】分支結(jié)構(gòu)的第三條分支的【映射】設(shè)計按鈕,打開第二層設(shè)計窗口。
(7) 拖曳一個【運算】設(shè)計按鈕到第二層設(shè)計窗口,命名為“重新設(shè)置”,雙擊打開該【運算】設(shè)計按鈕對話框,如圖10-38所示。
圖10-38 【運算】設(shè)計按鈕對話框
(8) 該對話框中的輸入內(nèi)容如圖10-38所示,目的是重新設(shè)置控制播放數(shù)字化電影的變量,將起始幀和終止幀都設(shè)置為第一幀。
(9) 關(guān)閉該【運算】設(shè)計按鈕對話框。
(10) 拖曳一個【等待】設(shè)計按鈕到圖10-39所示的位置。雙擊打開該設(shè)計按鈕對話框,如圖10-40所示。在該對話框中設(shè)置等待時間為0.1秒。
圖10-39 添加【等待】設(shè)計按鈕
圖10-40 【等待】設(shè)計按鈕對話框
提示:
設(shè)置【等待】設(shè)計按鈕的目的是讓authorware程序有時間來重新設(shè)置。
(11) 關(guān)閉該對話框。
(12) 拖曳一個【顯示】設(shè)計按鈕到圖10-41所示的設(shè)計窗口中,雙擊打開該設(shè)計按鈕,在展示窗口中使用【圖形工具箱】中的文本輸入工具來輸入文本如圖10-41所示。該【顯示】設(shè)計按鈕中的內(nèi)容用來提示用戶。
圖10-41 添加一個提示的【顯示】設(shè)計按鈕
(13) 關(guān)閉該顯示設(shè)計按鈕。
(14) 拖曳一個【聲音】設(shè)計按鈕到圖10-42所示的位置,對該設(shè)計按鈕進行設(shè)置。
圖10-42 添加聲音文件
(15) 【聲音】設(shè)計按鈕對話框如圖10-43和圖10-44所示。
圖10-43 【聲音】設(shè)計按鈕的【sound】對話框
圖10-44【聲音】設(shè)計按鈕的【timing】對話框
(16) 單擊【ok】命令按鈕,結(jié)束該設(shè)計按鈕的設(shè)置。
(17) 拖曳一個【移位】設(shè)計按鈕到圖10-45所示的位置。命名為“復(fù)位”。
圖10-45 添加移位設(shè)計按鈕
(18) 雙擊打開該設(shè)計按鈕的【motion】對話框,如圖10-46所示。
圖10-46 【移位】設(shè)計按鈕的【motion】對話框
(19) 單擊該對話框中的【layout】命令按鈕,彈出圖10-47所示的【layout】對話框。
圖10-47 【移位】設(shè)計按鈕的【layout】對話框
(20) 單擊展示窗口中數(shù)字化電影對象,將該對象設(shè)定為移動的對象。
兩對話框中相關(guān)選項的設(shè)置如圖所示。
(21) 該“復(fù)位”設(shè)計按鈕的作用是將飛出展示窗口的數(shù)字化電影復(fù)位到初始的位置。
(22) 單擊【ok】命令按鈕,結(jié)束【移位】設(shè)計按鈕的設(shè)置。
(23) 關(guān)閉第二層設(shè)計窗口。
步驟10 運行程序,觀看效果:
使用快捷鍵ctrl+r運行程序,請讀者觀察程序設(shè)計的結(jié)果。
程序的總體結(jié)構(gòu)如圖10-48所示。
圖4-48 程序的總體結(jié)構(gòu)
練習(xí)
(1) 請讀者引入另外一個數(shù)字化電影來實現(xiàn)該實例。
(2) 嘗試改變飛出展示窗口的數(shù)字化電影的方向。
新聞熱點
疑難解答