在布應用程序前必須將其打包為可執行文件,打包后不允許再修改。打包前必須盡可能排除其中的錯誤,為此authorware提供了調試手段和調試工具。
1)語法錯誤
指錯誤地拼寫函數、變量或設計圖標名,遺漏了必要的參數和符號,如缺少“)”、“end if”等。authorware可發現語法錯誤,并在關閉設計圖標或設計圖標屬性對話框時提出警告。
2)運行期錯誤
指在運行期間無法定位所需的外部函數文件,外部多媒體數據或外部庫文件,此時authorwae將提示出錯。
3)邏輯錯誤
指程序執行流程中不能正確地反映設計者意圖的錯誤,如錯誤設置某個響應的激活條件,造成該響應永遠不可能匹配。或者在一個循環執行的決策判斷分支結構中錯誤設置退出分支結構的條件,造成程序無法繼續執行等。邏輯錯誤隱蔽性較大,可能存在于打包的程序中。
避免出現各種錯誤應該從程序設計期間著手,在編寫程序時付出的少量努力可大幅度減輕后期的調試工作量。避免程序出現錯誤的有效的手段有以下幾種。
1)程序流程模塊化
使用“群組”設計圖標組合實現某一邏輯功能的多個設計圖標,然后賦予其一個能夠切實反映其功能的標題,可大大增加程序的可讀性。
2)分塊管理程序代碼
在同一個“運算”設計圖標中盡量避免使用過多的語句??赏ㄟ^建立多個“運算”設計圖標,并集中放置實現同一邏輯功能的語句,有利于定位代碼中出現的錯誤。
3)添加注釋信息
為“群組”設計圖標增加,或在一個功能模塊前面放置一個包含注釋信息的“運算”設計圖標,詳細地說明模塊中每個設計圖標的作用,模塊的功能等,這有助于調試和維護程序。在“運算”設計圖標中,最好為關鍵性語句分別加是注釋。
4)為設計圖標上色
當設計窗口和設計圖標數量均比較多時,為設計圖標上色將有利于開發人員區分不同的功能模塊。
5)嵌入變量
通過在“顯示”或“交互作用”設計圖標中嵌入變量,可跟蹤變量值。將程序中使用的關鍵性變量嵌入到文本對象中后將對應的設計圖標設置為“顯示變量更新”方式,可使變量的當前值始終顯示在“演示”窗口中,便于跟蹤程序的執行。調試結束后,從文本對象中刪除變量。
在多媒體交互作用程序的編制過程和程序設計完成后,都需要對程序的各模塊和整個程序進行調試。根據用戶的需求和編程人員的表現目的來對程序中的錯誤和不合理的地方進行修改調整。
程序的調試是一個交互作用應用程序設計中的重要一環。在程序的調試過程中,調試人員要模擬用戶的各種狀態,輸入不同的內容和動作,來測試程序的健壯性和使用的靈活性、便利性。如果最終用戶對程序的使用方法非常模糊、甚至某些誤操作會導致整個軟件系統的崩潰,這些都標志著該應用程序的失敗。
所以,我們在程序的編制過程中,要全面地測試各程序模塊實現的功能和與其他模塊之間的通信暢通與正確,還有對用戶誤操作的預防和處理。
在程序的編制過程中,編程人員需要隨時觀察程序的效果,在大多數傳統的編程語言中,編程人員要耗費大量的時間用到對源程序的編譯和連接上,最終目的僅僅是為了看一看一個小小的改動對程序的影響。這種將大量的時間耗費在重復的編譯連接上是非常無意義的。
多媒體的開發靠的是對圖形和動畫的精心組織、交互結構的精心設計和多種媒體的結合使用。媒體和動畫都有很大的時效性,對于一個多媒體程序,開發的時間越短,其時效性就越好。如果將大量的時間耗費在程序的編制和調試上,多媒體產品開發周期不斷拉長,則對多媒體產品的損失就越大。
authorware為開發人員提供了豐富的調試工具和檢測工具。在傳統的編程工具中,如果開發人員希望對程序中間的某一部分修改來看看修改的結果,必須無數次執行程序前一段的無意義內容才能夠看到所修改的結果。而使用authorware編程,開發人員可以執行程序流程線上任一部分的內容,無須執行前一段或后一段的內容,單獨執行修改過的內容即可。
authorware實現的多媒體編程的完全可視化,開發人員可以在設計窗口的流程線上控制和觀察程序的流程,不同的設計按鈕來完成不同的功能,豐富的函數和變量為authorware程序設計提供了廣闊的舞臺。
在該部分內容中讓我們學習authorware為開發人員提供的靈活的設計和調試程序的工具。主要有以下內容。
1)“開始”和“停止”旗幟的使用:開始和停止旗幟可以放置到程序流程線上的任意位置,用來控制程序的執行起始位置和停止位置。使用這兩個旗幟,開發人員可以執行整個應用程序的一部分。
2)authorware的跟蹤窗口:authorware的跟蹤窗口可以用來跟蹤哪些設計按鈕正在執行和監控變量設置的值等。在使用跟蹤窗口前,讀者必須首先熟悉如下內容。
①單步特性。
②進入特性。
③重置特性。
④暫停和恢復特性。
⑤ 對跟蹤窗口中產生信息的含義進行學習。
一、兩種旗幟介紹
在設計按鈕調色板中有兩個可以在設計中使用的旗幟。
1)“開始”是一個白色的小旗,可以用于在流程線上建立一個執行點。
如果在【調試】菜單中選擇【從標志旗處運行】命令或使用【ctrl+alt+r】快捷鍵來執行程序時,則程序從“開始”旗幟所在處執行,而不是從流程線上程序的起點開始執行。在開始旗幟的輔助下,可以連續地執行作品中的一小部分,而不必每次都從程序的開始執行。這在程序的開發過程中對部分內容的調試有很大幫助。如果每一次調試都從頭開始運行作品,則要花費大量的時間來運行到修改的點。
技巧:在一般情況下,我們在程序的開始要設置一些變量,這些變量要控制程序中的相關內容。例如激活菜單或匹配響應等。但是,如果程序是從“開始”旗幟所在處開始執行的話,則程序就不能執行變量的設置,這樣的話,就有可能對程序的控制失控。為了解決這個問題,讀者可以在“開始”旗幟后使用一個“運算”設計按鈕,將變量的值臨時設置在該“運算”設計按鈕內。一旦程序的調試完畢,請將該“運算”設計按鈕刪除掉,以免程序出現混亂。
2)“停止”旗幟是一個黑色的小旗,用于在程序的設計流程線上停止作品的執行。程序運行到“停止”旗幟所在位置停止運行
當執行到程序的流程線上的“停止”旗幟后,則authorware停止應用程序的執行。這同“等待”設計按鈕的功能類似,不同之處是沒有活動的【繼續】按鈕?!暗却痹O計按鈕單擊【繼續】按鈕可以繼續執行程序,而“停止”旗幟需要執行authorware中【調試】菜單中的【播放】命令來繼續執行應用程序。
與“開始”旗幟類似,“停止”旗幟也可以用來控制執行程序的一部分。在程序的開發設計過程中,我們可以使用該工具來保證我們在編輯某一設計按鈕之前不運行后面的設計按鈕或設計按鈕組。例如在程序中,有一個對象需要在“顯示”設計按鈕中顯示,同時要使用“移動”設計按鈕使該顯示對象在展示窗口上按照一定的方式移動。
在該程序中,為了在顯示設計按鈕中定位顯示對象的位置,而不希望執行下面的移動設計按鈕,我們可以在移動設計按鈕前設置一個“停止”旗幟,當程序執行到顯示設計按鈕后,停止程序的執行,這時我們可以對展示窗口中的顯示對象進行調整和控制。對顯示對象調整好后,我們再去掉“停止”旗幟,重新運行程序來觀察運行的結果。
注意:“開始”旗幟和“停止”旗幟是authorware為程序設計時所提供的工具。無論讀者是否從流程線上去掉它們,當程序最終打包發行給用戶的時候,所有的旗幟將被忽略,而不必擔心是否去掉了小旗。
技巧:在一個應用程序的設計過程中,只能分別有一個“開始”旗幟和一個“停止”旗幟出現在程序的設計窗口中。
“等待”設計按鈕和“停止”旗幟的功能非常相似,在程序的設計調試過程中,我更喜歡使用“等待”設計按鈕,因為“等待”設計按鈕可以有【繼續】命令按鈕,使程序的暫停比較明顯。
二、程序設計中旗幟的應用
在流程線上設置和移動旗幟和其他設計按鈕相同,不同的是在設計按鈕調色板上,旗幟設計按鈕各只有一個,其他的設計按鈕有無數多個。如果我們在設計窗口中放置了“開始”旗幟和“停止”旗幟,則設計按鈕調色板中(紅色矩形框內)這兩種旗幟的位置會出現空缺,如圖7-1所示。
圖7-1 程序設計中旗幟的應用
1)使用“開始”旗幟和“停止”旗幟的步驟如下。
① 用鼠標拖曳“開始”旗幟到程序流程線上需要程序開始執行的位置。
② 拖曳一個“停止”旗幟到程序流程線上需要暫停的位置點上。
③ 如果希望程序從“開始”旗幟所在位置執行,使用【調試】菜單中的【從標志旗處運行】命令(或用【ctrl+alt+r】快捷鍵),否則使用【調試】菜單中的【重新開始】命令(或用【ctrl+r】快捷鍵)來運行程序。
當一個應用程序從“開始”旗幟所在處開始執行程序后,authorware將清理展示窗口,并將所有的變量設初值,和作品從流程線上的起始點開始運行一樣。
技巧:在程序的設計和編輯過程中,我們并不需要同時使用兩種旗幟,我們可以單獨使用“停止”旗幟和“開始”旗幟。使用“開始”旗幟從特定的位置來開始執行程序到末尾??梢允褂谩就V埂科鞄脧淖铋_始來執行程序到停止位置。還可以同時使用兩種旗幟來設定執行應用程序的一部分。
④ 當authorware遇到“停止”旗幟停止執行程序后,設計者可以回到流程線上進一步編輯流程線上的設計按鈕,也可以在展示窗口中編輯窗口中的顯示對象。在這兩種情況下,設計者都可以在編輯完成后,使用【調試】菜單的【播放】命令從程序停止處繼續執行應用程序。
2)取消流程線上的“開始”旗幟和“停止”旗幟的方法如下。
①從設計窗口中將流程線上的“開始”旗幟或“停止”旗幟拖曳到設計按鈕調色板上它們的位置上。
②用鼠標單擊設計按鈕調色板上旗幟位置的空缺處,旗幟會自動從設計窗口流程線上取消。
3)旗幟在流程線上位置改變的方法如下。
① 用鼠標拖動旗幟到需要的位置釋放即可。
② 如果旗幟在程序的流程線上的某個位置,用戶不能很快地找到,用戶可以先使用上述方法2)使旗幟回到調色板上,然后再拖動旗幟到流程線上合適的位置釋放。
4)使用“開始”旗幟和“停止”旗幟進行程序的調試,方法如下。
在程序的設計過程中,我們可以使用旗幟來調試程序,以便定位程序錯誤所在的位置。例如,我們在程序的運行過程中發現作品的運行進程和我們設計的不一樣,或者在展示窗口中的顯示內容同我們的期待內容不同。如果出現上述情況,我們可以使用旗幟來定位問題的所在處。
設計者可以首先使用“停止”旗幟,使程序定位在出現問題的位置,也就是,確定在“停止”旗幟位置前的程序部分引起的錯誤。然后使用“開始”旗幟來縮小錯誤的范圍,逐步進行,就可以將錯誤的范圍縮小到一個小的范圍,然后再使用跟蹤窗口來觀察這小范圍程序的執行,從而定位錯誤的原因,然后解決問題。
5)在程序的運行過程中修改程序,方法如下。
當我們使用“等待”設計按鈕或“停止”旗幟使應用程序暫停運行后,我們有可能需要對程序中的某些內容進行修改。下面我們來介紹如何對不同的修改對象進行不同的操作,從而來修改程序中的對象。
① 修改顯示在展示窗口中的正文或圖片。
只需用鼠標雙擊需要修改的對象,此時,authorware的“圖形工具箱”便出現在展示窗口中,并且該對象所屬的設計按鈕的圖標也出現在“圖形工具箱”左邊的區域中。利用“圖形工具箱”中的工具按鈕編輯對象,完成后,使用【調試】菜單的【播放】命令繼續執行應用程序。
② 修改程序中的響應類型。
只需用鼠標雙擊流程線上的響應類型圖標,打開響應分支屬性對話框,在該對話框中可以設置響應的類型等多種選項和設置。然后單擊【確定】命令按鈕結束對該分支結構的設置。使用【調試】菜單的【播放】命令繼續執行應用程序。
③ 修改“等待”設計按鈕屬性設置。
首先選擇【調試】菜單的【停止】命令,然后雙擊“等待”設計按鈕,打開“等待”設計按鈕屬性對話框。在該對話框中設置“等待”設計按鈕的相關屬性。
④ 修改“交互作用”設計按鈕中的熱區響應。
首先選擇【調試】菜單的【停止】命令,然后雙擊要編輯的熱區對象,調整熱區的大小和在展示窗口中的位置,設置完畢后,選擇【調試】菜單中的【播放】命令繼續執行。
技巧:如果當前內容的是“交互作用”設計按鈕中的內容,并且其中含有熱區或熱對象。要編輯這樣的對象,必須首先選擇【調試】菜單的【停止】命令,然后用鼠標雙擊要編輯的熱對象或熱區。編輯完畢后,選擇【調試】菜單中的【播放】命令繼續執行。
以上內容是使用“開始”旗幟和“停止”旗幟來調試和編輯程序的總體介紹,在今后實際的應用中往往是用上述各種方法的結合來進行程序的設計和調試。
新聞熱點
疑難解答