□ 王美華 羅 靜 梁志海 吳樹敏 劉躍勇
ActionScript2.0+XML在網絡課程開發中的應用*
□ 王美華 羅 靜 梁志海 吳樹敏 劉躍勇
文章提出ActionScript2.0+XML在網絡課程開發中的應用模式,并將其運用到照明設計師網絡課程建設實踐中,解決了使用性低,加載速度慢的問題,為后續網絡課程的開發提供了有價值的參考和借鑒。
網絡課程;ActionScript2.0;XML;課程資源;照明設計師
網絡課程是通過網絡形式表現的某門學科的教學內容及實施教學活動的綜合,它包括按一定的教學目標、教學策略組織起來的教學內容和網絡教學支撐環境[1]兩大部分。網絡課程在教學中以一定的教學目標為指向,承載并協調著教師、學生、資源與環境四個關鍵要素[2]。本文主要從資源構建方面進行探討,將ActionScript2.0+XML開發形式運用到“照明設計師”網絡課程資源架構開發中,來研究是否能夠達到預期的效果。
網絡課程開發中的資源構建常見形式可分為基于Moodle和基于Web兩種,這兩種方式在對資源組織和構建時,都存在架構的可重用性較差、加載視頻、音頻、swf動畫等大資源文件需要等待加載完畢后才能觀看等問題。本文針對這些問題提出Action-Script2.0+XML的資源組織開發形式,并運用到具體的網絡課程開發實踐中。ActionScript2.0簡寫為AS2.0,是一種面向對象的編程語言[3],可以加載、分析、發送、生成和操作外部XML文檔,實現各種人機交互、數據交互功能[4],導出的swf文件具有流暢[5]、流媒體播放[6]等特性,可以很好的解決加載大資源文件問題。XML是一種可擴展的標簽語言,它的功能主要用于數據傳輸和數據存儲[7],存儲在XML文檔中的數據不僅可以被計算機理解也可以被人類的理解。
本文主要探索將AS2.0+XML應用于“照明設計師”網絡課程的開發,該課程內容主要分為理論知識、操作技能、模擬考試、答疑解難這四個模塊,課程的最終效果如圖1所示:

圖1 照明設計師網絡課程效果圖
照明設計師網絡課程的左邊主要是“課程簡介”、“課程目錄”和“單位信息”,當點擊“課程目錄”中的菜單內容時,中間用于顯示內容的影片剪輯(MovieClip)則加載相應的學習內容,該內容播放完成后可自動加載下一節的內容,并更新相應的課程目錄菜單。
網絡課程右上角為“理論知識”、“操作技能”、“模擬考試”、“答疑解難”這四個模塊的交互按鈕,點擊相應的按鈕之后,左邊課程目錄則發生相應的變換,并初始化中間影片剪輯中的內容。其中“理論知識”為該網絡課程的主要知識學習內容,“操作技能”為與該課程相關的一系列仿真交互性實驗,“模擬考試”則用于該課程學完后對學習者學習情況進行測試。
菜單中間部分主要用于顯示網絡課程相關內容的影片剪輯(MovieClip),如理論學習、操作技能實驗、模擬考試系統、疑難解答等內容。
菜單底部主要用于放置控制內容播放、暫停等操作的控制條,以便學習者能夠對學習內容進行良好的控制。
照明設計師網絡課程第一層文檔結構主要包括data文件夾、template文件夾及index.html文件(如圖2所示)。

圖2 照明設計師資源文檔結構
其中 data文件夾中主要包含了“理論知識”模塊中各章節swf格式的內容,“技能操作”模塊中各仿真實驗的swf格式的文件,“模擬考試”模塊中各套swf格式的考試題,“疑難解答”模塊中常見問題的swf格式文件,以及swf格式的背景聲音。
template文件夾中主要包含了XML文件夾、contentplayer.html、adpter.swf和 main.swf文件,其中contentplayer.html調用adpter.swf文件,由adpter.swf文件加載main.swf。adpter.swf文件主要作用是存儲相關變量并加載XML文件,對文件進行解析后存儲到相應的變量之中,并提供后臺數據庫交互時所需的相關接口。main.swf文件主要用于網絡課程界面的規劃控制,包含資源模塊間交互的AS2.0接口函數定義等內容。
XML文件夾中存儲了“理論知識”、“技能操作”、“模擬考試”、“答疑解難”等模塊內容的manifest.xml文件,以及存儲了模擬考試題內容的test1.xml至test5.xml的五個文件和“答疑解難”中常見問題內容的FAQ.xml文件。
由以上課程資源文檔結構描述可知,XML在該網絡課程資源架構中扮演著極其重要的角色,了解每個XML文件的結構對于理解網絡課程資源的開發非常重要。
(1)主架構manifest.xml文件如下所示:

該XML文件在<tocTree></tocTree>標簽之間存儲著“理論知識”模塊的內容,格式為“<node id="m0" titleName="*" completion="0" isEnabled="1"/>”。其中id屬性用于標記該模塊的swf(m0.swf)文件內容;titleName屬性用于顯示該文件的名稱。completion屬性用于判斷該內容是否播放完成,播放完成則設置為1,否則設置為0。isEnabled屬性用于判斷該模塊是否具有子文件,如果值為1代表有子文件,否則沒有子文件。這樣設置的好處在于加載和解析XML文件作為右邊的菜單時,便于搜索和剪輯。
(2)模擬考試題目內容test1.xml文件如下所示:

該XML文件在<question></question>標簽之間存儲著單選題和判斷題的相關內容。子標簽<item></item >之間存儲著題目內容,Type屬性用于判斷題目的類型(單選題或多選題),qus屬性用于描述題目的內容,ans屬性用于存儲該題的正確答案,score屬性用于存儲該題的分數,<item option="A.費德勒"/>子標簽用于存儲題目選項的內容。
(3)疑難解答內容FAQ.xml文件如下所示:

該XML文件在<content></content>標簽存儲著常見的問題和解決的辦法,其中每個子標簽<resource></ resource > 通 過 <question></question>子標簽存儲常見的問題,通過<answer></answer>子標簽存儲問題的解決方法。
限于篇幅,本文主要介紹照明設計師網絡課程中“理論知識”模塊,包括核心算法的講解和實現效果的展示兩部分。其它模塊涉及運用AS2.0和XML文件進行交互操作的,都與此大同小異,在此不作詳述。
本研究的核心算法主要以XML文件的加載與解析、“理論知識”模塊中菜單的生成為例展開。
(1)XML文件加載與解析
在照明設計師網絡課程的建設過程中,XML文件在整個架構中有著極其重要的作用,XML文件結構的良好設計與控制,直接關系到整個網絡課程的流暢性和可重用性等多方面因素,所以AS2.0怎樣對XML文件進行加載和解析必然成為模式中的重要組成部分。該課程中XML文件的加載、解析過程的核心代碼如下所示:

(2)理論知識菜單顯示
“理論知識”模塊中用XML內容實現菜單的核心代碼,包括XML的遍歷與存儲,使用存儲的內容生成導航菜單等。
首先,XML內容的遍歷與存儲如下saveTheoryKnowledgeFun(*)函數所示:
//--函數:用于解析理論學習XML中的內容并存儲到相應數組中

該函數主要通過對XML文件進行三層循環的遍歷來完成對相關內容的存儲,由于網絡課程中只用到三層的菜單結構,所以只進行三層循環的遍歷。
其次,理論知識內容第一次加載函數代碼如下所示:


函數主要通過檢查當前節點是否可用,來獲取相應的節點名稱和標簽數,加載相應的swf文件到影片剪輯中(MovieClip)進行播放,并設置網絡課程的背景聲音音量。
最后,初始化理論知識模塊菜單的函數代碼如下所示:


函數主要通過遍歷理論知識的XML文件的三層內容,并判斷每一層上的內容是否存在子節點,繼而從庫里加載不同類型的元件到theoryMC中,并設置其相應的位置、文本、打開狀態等屬性,實現最終菜單的顯示。
本研究對課程模塊所涉到的內容進行測試,AS2.0+XML在照明設計師網絡課程中的理論知識菜單、模擬考試、答疑解難模塊的運行效果圖如圖3至圖5所示:

圖3理論知識菜單

圖4模擬考試界面

圖5答疑解難界面
本研究通過將AS2.0+XML模式運用到開發實踐中,在解決可重用性和加載大資源文件這兩方面具有良好的效果,在此結構的基礎上開發新的網絡課程,只需要修改相關的XML文件即可,為后續的網絡課程開發提供良好的參考和借鑒。
[1]教育部教育信息化技術標準委員會.CELTS-22.1.網絡課程評價規范.教育部,2002.
[2]李遠航,秦丹.利用Web2.0技術實現網絡課程資源再生研究[J].中國電化教育,2011,(4).
[3]朱中尉.利用Flash ActionScript2.0制作動態交互式課件[J].中國教育信息化,2010,(10).
[4]崔創來.基于Flash8、ActionScript2.0多媒體電子地圖的設計與開發[J].華北國土資源,2010,(01).
[5]吳愛珍.如何利用Flash制作CAI課件[J].職業技術教育,2001,1(22):275
[6]王秀清,陳兆英,于朝霞.基于Flash流媒體技術的高等數學網絡課堂的建設與實踐[J].濰坊學院學報,2010,(12):10.
[7]吳敏,徐德智.XML數據的存儲實現研究[J].計算機工程,2003.
G40-057
B
1009—458x(2012)01—0088—05
*資助資金:廣東省科技計劃項目,項目編號:2010B080701070
2011-10-15
王美華;羅靜;吳樹敏;劉躍勇。華南農業大學信息學院(510642)。
梁志海,精通軟件科技有限公司(510070)。
責任編輯 柯 南