Authorware是我們非常熟悉而且也是常用的多媒體制作工具,利用它我們可以制作出具有交互性的專業多媒體程序或課件,用于教學或演示。Authorware容易學會但不容易掌握它的技巧,筆者從事CAI工作多年,愿意將自己平時積累的一些小技巧奉獻出來,供大家參考。
獲取系統文件夾
有時我們在課件中有必要獲取系統文件夾,以啟動相應的程序。Authorware4.0及其以上版本中,新增了一類Xtras fileio內部函數,其中有一個getOSDirectory()函數,利用它就可以輕輕松松地獲取系統目錄,再也不必費勁地調用了Windows API了;代碼如下(本文所有源代碼,直接粘貼到計算圖標中即可調試):
WinPath:=getOSDirectory() --獲取Windows目錄。
WinSysPath:=getOSDirectory( )^"system"--獲取Windows的system目錄。
調用關聯程序
大家一定對Windows下關聯程序并不陌生,在Authorware中也可以通過內部函數JumpOutReturn來使用關聯程序打開文件。即JumpOutReturn(" ", document)可以調用系統默認的關聯應用程序來打開用戶選擇的文件(引號中有一空格)。使用這個辦法,你可以打開各種類型的多媒體文件,而不必編寫相應的播放程序。你可以用它輕松打開AVI、MID、WAV、MPG等各種格式的多媒體文件。我們還可以用這個辦法來打開LNK文件,從而在作品中調用快捷方式。
如果我們寫入以下語句,則可以調用系統默認的應用程序來打印各種類型的文件;Authorware會自動為你選擇好能夠打印該文件的應用程序。
JumpPrintReturn(" ",document)--調用系統默認的應用程序打印用戶選擇的文件。比如,以下代碼將為你調用yourdoc.doc:
JumpPrintReturn(" ", "yourdoc.doc")
支持GIF動畫文件
GIF是網絡上應用最廣泛的動畫格式,但Authorware程序本身并不支持GIF格式的動畫播放。我們需要調用AnimGif.u32中的函數DisplayAnimatedGif (Windowhandle; Filename; left; Top; color)來播放GIF動畫。
函數參數:
Windowhandle為系統變量,代表Authorware展示窗口的句柄;
Filename為動畫GIF帶路徑的文件名;
Left與Top確定GIF相對展示窗口的位置;
Color參數有16種選擇,決定GIF背景的顏色。
AnimGif.u32中還有一個EraseAnimatedGif ( )函數,清除正在顯示的GIF動畫。
多文件處理
在Authorware中固然可以非常方便地引入圖片文件,但是圖片文件較多時,如果一個一個地引入則比較麻煩。不過,只要我們利用ACDSee軟件將圖片文件命名成形如file00001.bmp、file00002.bmp、file00003.bmp、file00004.bmp……的文件序列后,在Authorware中可以把圖片文件作為外部鏈接輸入,然后在外部媒體瀏覽對話框中用變量表示圖片文件的路徑與名稱,我們只要改變變量,就可以顯示不同的外部圖片。并且在圖像的屬性對話框中的Display欄選擇“As Is,Placement”項選擇居中就可以實現按外部圖片的實際大小顯示圖片,而無扭曲變形之慮了,非常方便。
調用Windows程序
Authorware作為一個多媒體制作軟件,它所完成的功能是有限的,一些低級的、系統級的功能它是無法完成的,這時候,我們就必須調用外部的Windows程序來完成。有時在Authorware作品中直接打開特定的系統程序非常簡單,只需使用內部函數getOSDirectory( )和JumpOutReturn就可以做到。
WinPath:getOSDirectory( )
JumpOutReturn (WinPath^ <\Cleanmgr.exe>)調用磁盤清理程序。
JumpOutReturn (WinPath^ <\Defrag.exe>)調用磁盤碎片整理程序。
JumpOutReturn (WinPath^ <\Explorer.exe>)調用資源管理器。
JumpOutReturn (WinPath^ <\Notepad.exe>)調用記事本。
動態和彩色光標
我們都知道,在Authorware里可以引入光標到您的文件中,但是它只能引進黑白兩色光標,而不能引入彩色和動態光標(這個問題Authorware至今也沒有解決),這就給您的多媒體作品大打折扣。其實,我們只要使用一個名為anicur.u32動態鏈接庫,并引入其中的set_anicur()函數;再加入以下代碼就可以使用動態和彩色光標了:
int := set_anicur(WindowHandle,"Hourglas.ani")
SetCursor(int)。
AuthorWare中的熱字的妙用 (作者:江蘇省如東縣掘港小學 韶亞軍 來源:中國電腦教育報)
在Authorware中提供了11種交互方式,我們可以利用它們進行組合,靈活運用制作出多種高級的交互效果,對一般用戶來說已經足夠用了。其實還用一種交互——熱字,我們一般可以將它配合框架進行超文本操作。本文是介紹它的另一種用法,實現一種能移動的“熱區”。
大家知道按鈕和熱區一旦設定,位置就不能動,用熱對象(Hot object)的話,Authorware把整個圖標都看成一個對象,如果要實現一個類似對話框的"模式子窗口",窗口中有按鈕,窗口還能拖動(按鈕自然要跟著動),該如何處理呢?在一般情況下,我們可以用函數及運算式進行控制,但這太麻煩,其實熱字這時就派上用場了,我們只在圖標中畫上窗口和按鈕,然后在按鈕處放上一個熱字,內容全是空格,模式為透明,這樣就成了看不見的熱區了,最后把圖標設置為可拖動就行了。非常簡單,一個專業級的對話框就生成了,不過要注意的是,選用的字體一定是系統最常用的,否則在其它機器上沒有該字體時,系統就用其它字體代替,這樣就會出現熱區大小和位置的錯誤。(到時候,用戶可能會懷疑自己的Windows是不是壞了,那責任該誰負呢?)