摘要:在制作拖曳題類型課件方面,Flash具有其它課件制作軟件不可比擬的優勢,該文通過一個拖曳題課件實例的研究,分析了用Flash制作拖曳題課件的方法。
關鍵詞:Flash;課件;拖曳題;腳本;Action Script
分類號:G434 文獻標識碼:A文章編號:1009-3044(2009)36-10629-02
A Towing Topic Courseware Based on Flash Script
PAN Ping, FU Yu-jiang
(The Numerical Code Design Department OF Hainan Software Professional Technology Institute, Qionghai 571400, China)
Abstract: In the manufacture towing topic type courseware aspect, Flash has the other courseware manufacture software incomparable superiority, this article through a towing topic courseware example research, analyzed has manufactured the towing topic courseware with Flash the method.
Key words:Flash; courseware; towing topic; script; action script
在眾多的多媒體課件中,練習與測驗類課件是比較常見的一種類型。這類課件充分利用了計算機的交互性、多媒體性和智能性,使教育過程中的練習和測驗活動變得更加有效。練習與測驗類課件一般包括:判斷題、選擇題、填空題、拖曳題、連線題等類型。其中,拖曳題是練習與測驗類課件中主要的題型之一,使用范圍廣泛。所謂拖曳題是指將指定的物體拖到目標區域,根據到達的位置反映出相應的結果,如果物體沒有到達目標區域,則自動返回原位。高級編程語言(比如VB)可以較好地實現此類課件的制作,但編程過程復雜,沒有很好編程經驗的一般使用者不易掌握。相對于其他的高級編程語言,Flash是制作練習與測驗類課件的最佳選擇。
Flash是美國Adobe公司出品的目前最流行的多媒體課件制作軟件之一。利用Flash課件能將抽象的知識以動畫的形式生動地表現出來,通過Flash中內置的動作語言,還可以制作出各類交互性課件,大大豐富和增強了課件的教學功能。Flash 8是Flash的最新版本,用它制作的拖曳題課件功能強大、交互性好、可移植性強,具有其它制作軟件不可比擬的優勢。
1 相關命令
1.1 開始拖拽命令
命令格式:startDrag(target,[lock ,left ,top ,right,bottom]) 或target.startDrag([lock ,left ,top , right, bottom])。
參數說明:target --要拖動的影片剪輯的目標路徑。Lock — 一個布爾值,指定可拖動影片剪輯是鎖定到鼠標位置中央(true),還是鎖定到用戶首次單擊該影片剪輯的位置上(1)。此參數是可選的。Left,top,right,bottom —相對于該影片剪輯的父級的坐標的值,用以指定該影片剪輯的約束矩形。這些參數是可選的。
命令講解:使target影片剪輯在影片播放過程中可拖動。一次只能拖動一個影片剪輯。執行startDrag()操作后,影片剪輯將保持可拖動狀態,直到用stopDrag()顯式停止拖動為止,或直到對其它影片剪輯調用了startDrag()動作為止。
1.2 停止拖拽命令
命令格式:stopDrag()。
命令講解:停止當前的拖動操作。
1.3 碰撞命令
命令格式:mc.hitTest(x,y,shapeFlag)或mc.hitTest(target)。
參數說明:mc--被拖動影片剪輯的實例名。x--舞臺上點擊區域的x坐標。y—舞臺上點擊區域的y坐標。shapeFlag— 一個布爾值,指定是計算指定實例的整個形狀(true)還是僅計算邊框(1)。只有當用x和y坐標參數標識點擊區域時,才可以指定該參數。target—可能與由mc指定的實例交叉或重疊的點擊區域的目標路徑。target參數通常表示一個按鈕或文本輸入字段。
命令解釋:計算由mc指定的影片剪輯實例,以確認其是否與由x和y坐標參數或targe t標識的點擊區域發生重疊或相交。用法1:根據shapeFlag設置,將x和y坐標與指定實例的形狀或邊框進行比較。如果shapeFlag設置為true,則只計算在舞臺上的實例實際占據的區域,并且如果x和y在任意一點重疊,則返回true值。此評估對于確定影片剪輯是否處于指定的點擊區域或熱點區域中很有用。用法2:計算target和指定實例的邊框,如果它們在任意一點上重疊或交叉,則返回true。
2 課件的界面和代碼
2.1 課件的界面設計
本文要制作一個拖曳型練習課件,即拖動正確的答案到合適的位置上,則反饋文本顯示“Congratulations!”,否則顯示“Please try again!”。首先,新建一個Flash文檔,在舞臺上的合適位置用“文本工具”放置一個靜態文本,內容為“Drag the items to the proper locations.”。然后用“文本工具”輸入四個英語單詞,四個括號及四個答案,并排列好位置,最下面的位置用“文本工具”放置一個動態文本(即在“文本工具”的“屬性”面板中選擇“動態文本”),調整好合適的寬度。設計好的界面如圖1所示。
2.2 元件的轉換和代碼設計
1)將輸入的四個答案從左到右依次轉換為“影片剪輯”,并在其“屬性”面板中將“實例名稱”依次設為ml,m2,m3,m4。
2)將輸入的四個括號從上到下依次轉換為“影片剪輯”,并在其“屬性”面板中將“實例名稱”依次設為hitml,hitm2,hitm3,hitm4。
3)將動態文本的變量名設為“t1”(即在動態文本的“屬性”面板中的“變量”中填入t1)。
4)添加一個圖層并命名為“as”,為該圖層的第一幀添加如下語句:
m1.onPress = function() {
_root.m1.startDrag();
x0 = getProperty(_root.hitm1, _x);
y0 = getProperty(_root.hitm1, _y);
x1 = _root.m1._x;
y1 = _root.m1._y;
};
m1.onRelease = function() {
_root.m1.stopDrag();
if (_root.m1.hitTest(x0, y0, 1)) {
_root.m1._x = x0;
_root.m1._y = y0;
_root.t.text = \"Congratulations!\";
} else {
_root.m1._x = x1;
_root.m1._y = y1;
_root.t.text = \"Please try again!\";
}
};
5)在上述語句后面繼續為m2,m3,m4添加同樣的語句,只是把上述語句中的ml改為m2,m3,m4,語句中的目標影片剪輯實例hitm1相應地改為hitm2,hitm3,hitm4,此處不再贅述。課件后運行界面如圖2所示。
3 結束語
拖曳型課件拓展性較強,在教學中應用比較廣,利用拖拽型課件可以獨立制作某些練習與測驗題目,也可以結合其他類的課件形式實現多樣式命題。掌握拖曳型課件的設計思路和制作方法后,我們可以輕松地制作出更多交互性強的教學課件。
參考文獻:
[1] 繆亮.Flash多媒體課件制作實用教程[M].北京:清華大學出版社,2008.
[2] 章精設.Flash Action Script 2.0編程技術教程[M].北京:清華大學出版社,2005.
[3] 陳冬.Flash Action Script 2.0互動編程從基礎到應用[M].北京:人民郵電出版社,2006.