趙靜雅 徐江紅 高震宇
摘要:論文較為詳細(xì)論述了ActionScript技術(shù)的特點以及基于ActionScript技術(shù)的虛擬電子實驗室構(gòu)建的意義、可行性、及開發(fā)思路方法等內(nèi)容。
關(guān)鍵詞:ActionScript;虛擬;電子實驗室
中圖分類號:TP37 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)19-0255-02
1 緒論
虛擬實驗室是一種運用虛擬現(xiàn)實技術(shù)模擬真實環(huán)境實驗的計算機輔助教學(xué)軟件,它采用多媒體信息技術(shù)在計算機上建立虛擬實驗教學(xué)環(huán)境,使學(xué)生在計算機模擬環(huán)境中通過接近真實的人機交互界面完成實驗。
虛擬實驗室具有仿真性、開放性的特點,并可多次重復(fù)使用。在該虛擬平臺上,學(xué)生可自己動手完成實驗設(shè)備的安裝調(diào)試,觀察實驗效果,并對實驗數(shù)據(jù)進行相應(yīng)的分析。虛擬實驗室的構(gòu)建可以在很大程度上彌補目前學(xué)校實驗設(shè)備不足的問題。
2 虛擬電子實驗室構(gòu)建的意義
在目前的電子實驗室中,普遍存在著軟件不足的問題,所開設(shè)的電子實驗主要以基礎(chǔ)訓(xùn)練為主,缺少較為綜合的設(shè)計型實驗。學(xué)生大多在已經(jīng)安裝完成的固定實驗臺上進行操作,缺乏創(chuàng)新。而引入虛擬電子實驗室,則可以很好地解決上述問題。在虛擬電子實驗室中,不需用到任何實際的電子元器件,也不需實際搭建電路,不需使用測試儀器進行測試,學(xué)生就可以判斷該電子設(shè)計方案是否正確,而不再受限于實際測試時特殊儀器設(shè)備的短缺、破壞性測試的不經(jīng)濟性、電路噪聲與負(fù)載的限制;可以更為全面地了解電路的性能;對電路進行最優(yōu)化設(shè)計;幫助學(xué)生完成電路結(jié)構(gòu)和概念的構(gòu)思和驗證,完善各種設(shè)想。通過虛擬電子實驗室,學(xué)生可以擁有各種實驗儀器設(shè)備,只需指定信號輸入點或測試點即可,遠(yuǎn)比真實儀器的使用簡便可靠。而當(dāng)虛擬電子實驗測試完成后,再進行相應(yīng)的實際電路搭建調(diào)試,則可大大提高實驗效率,減低實驗成本,節(jié)省大量的實驗時間和費用,同時也可以更好地培養(yǎng)學(xué)生大膽嘗試,積極探索,敢于創(chuàng)新的精神。
目前雖然市場上有一些電路仿真軟件,但針對性不是很強,開發(fā)虛擬電子實驗室,可以根據(jù)課程需要,獨立開發(fā)實驗項目,在實驗中注重的是實驗操作的交互性和實驗結(jié)果的仿真性。利用虛擬電子實驗室,學(xué)生可以像在真實的實驗環(huán)境中一樣通過虛擬實驗平臺完成各種實驗項目,可以取得與實際環(huán)境中幾乎等價的實驗效果。
3 ActionScript的特點以及在虛擬實驗室構(gòu)建中的作用
FLASH技術(shù)所創(chuàng)建的元素是采用矢量來描述的,與位圖圖像不同,矢量圖形不僅體積小,同時可以任意縮放而不會影響圖形的質(zhì)量。同時它采用流媒體技術(shù),適合在網(wǎng)絡(luò)上使用。通過使用組件技術(shù)和關(guān)鍵幀等使得生成動畫文件很小。另外Flash技術(shù)支持多種音頻視頻格式,可以方便地制作出集聲音、動畫、視頻等融為一體的作品。此外,還有最關(guān)鍵的一點是Flash利用Actionscript腳本語言,從而增強了對交互事件的控制。Actionscript語言是一門面向?qū)ο缶幊陶Z言,功能強大,它可以創(chuàng)建真正具備完全交互性的應(yīng)用程序。
與其他開發(fā)技術(shù)的價格高昂,很難在普通高校中得到開發(fā)和有效應(yīng)用相比,基于Flash ActionScript技術(shù)而開發(fā)的虛擬實驗室則具有開發(fā)成本較低,適用范圍廣,易于普及等特點。鑒于這種情況,在眾多的仿真實驗構(gòu)建軟件中,選擇基于ActionScript技術(shù)開發(fā)虛擬電子實驗室。通過使用ActionScript可以控制Flash動畫中的對象、創(chuàng)建導(dǎo)航和交互元素,能形象地模擬動畫狀態(tài),開發(fā)周期短。這種特性使得它適合交互式虛擬實驗室的建立,從而為我們提供一個成本低、具有推廣價值的仿真實驗開發(fā)平臺。
4 基于ActionScript技術(shù)的網(wǎng)絡(luò)虛擬電子實驗室開發(fā)思路
虛擬電子實驗室分為實驗室管理模塊、課件與教學(xué)模塊、仿真實驗?zāi)K、交流評價模塊等。在教學(xué)模塊中,放置相關(guān)的教學(xué)視頻及動畫,供用戶學(xué)習(xí);在仿真實驗?zāi)K中,利用計算機技術(shù)和多媒體技術(shù)來完成各種虛擬實驗場景的構(gòu)建。提供大量預(yù)設(shè)的實驗情景用于指導(dǎo)學(xué)生的思維;以鼠標(biāo)的點擊拖動,將虛擬實驗室中的各種儀器按實驗要求和過程組成一個完整的試驗系統(tǒng),其中包括各種元件的添加、參數(shù)的設(shè)置等,同時對實驗的數(shù)據(jù)進行采集以及對實驗結(jié)果的分析處理,充分體現(xiàn)學(xué)生的主體地位;學(xué)生在獨立完成實驗的同時,還可以通過互動模塊與教師進行交流,教師可以實現(xiàn)在線答疑并及時對學(xué)生的實驗完成情況進行評價反饋。
5 基于ActionScript的虛擬電子實驗室構(gòu)建關(guān)鍵技術(shù)
1)鼠標(biāo)交互事件
在虛擬電子實驗室的使用過程中,會有大量鼠標(biāo)拖拽元器件的操作,即監(jiān)聽鼠標(biāo)按下事件,并開始監(jiān)聽移動,同時為了讓彈起時不再拖動,還要監(jiān)聽彈起事件。
mc.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDownHandler);
mc.addEventListener(MouseEvent.MOUSE_UP,onMouseUpHandler);
//mc添加兩個鼠標(biāo)事件:鼠標(biāo)按下時 可以拖動;鼠標(biāo)松開 停止拖動;
private function onMouseDownHandler(evt:MouseEvent):void
{evt.currentTarget.startDrag(false);
//stargDrag指定可拖動影片剪輯是鎖定到鼠標(biāo)位置中央 (true),還是鎖定到用戶首次點擊該影片剪輯的位置上 (false)。 }
private function onMouseUpHandler(evt:MouseEvent):void
{evt.currentTarget.stopDrag();}
2)使flash適應(yīng)不同的分辨率大小
雖然在設(shè)計界面時是可以設(shè)置好自動適應(yīng)兩種或者幾種分辨率的,但較為繁瑣,以下給出通過ActionScript腳本使其自動適應(yīng)多種分辨率的方法。
stage.scaleMode=StageScaleMode.NO_SCALE
//不變形處理
function myfunction(){
//A的位置
A.x=0
A.y=0
} //自定義一個函數(shù)來控制MC的位置
stage.addEventListener (Event.RESIZE,test);
//對舞臺的改變進行偵聽
function test (e:Event):void {
myfunction ();
} //舞臺改變時,重新設(shè)置MC的位置
3)從外部加載顯示元素
在構(gòu)建虛擬實驗室的過程中,需要使用到大量的外部可顯示資源,可以將這些資源放置在Flash庫中,作為內(nèi)部資源使用,但這樣會使生成的swf文件體積增大,造成不好的用戶體驗,同時不利于后期維護。鑒于以上原因,可通過使用Loader類,從外部動態(tài)加載可顯示資源。
{Var loadimg:Loader=new Loader();//創(chuàng)建一個Loader實例對象
Var url:string=”a1.gif”;//將外部顯示元素地址包裝成URLRequest對象
Var urlReq:URLRequest=new URLRequest (url); //啟動加載動作
Loadimg.load(urlreq);//在舞臺上顯示
Addchild(loadimg);}
4) 在flash中實現(xiàn)3D效果
在虛擬電子實驗室中,需要構(gòu)建大量的虛擬實驗設(shè)備,虛擬設(shè)備應(yīng)在外型上能模擬真實設(shè)備,而flash并沒有3D的應(yīng)用程序編程接口,可通過ActionScript函數(shù)調(diào)用,從而模擬三維效果,另外也可以通過其他軟件進行3D建模,實現(xiàn)3D效果。例如需要制作三維模型旋轉(zhuǎn)效果,可以先利用3Dmax軟件進行建模,完成三維旋轉(zhuǎn),然后導(dǎo)出序列幀。最后導(dǎo)入到flash里面,即可實現(xiàn)。
6 結(jié)論
基于ActionScript技術(shù)的虛擬電子實驗室可以作為一種輔助的實驗手段來彌補真實實驗課程的不足,并且可以構(gòu)建復(fù)雜的難以開展的實驗。Flash ActionScript技術(shù)手段是實現(xiàn)仿真實驗的一種簡單有效的途徑,其所開發(fā)的虛擬實驗具有形象生動的特點,可激發(fā)學(xué)生興趣,從而有效地提高課程的教學(xué)效果和質(zhì)量。
參考文獻:
[1] 王璁.基于Flash的高電壓虛擬實驗室探索[J].電氣電子教學(xué)學(xué)報,2013(4).
[2] 陳一民.增強虛擬現(xiàn)實技術(shù)研究及其應(yīng)用[J].上海大學(xué)學(xué)報,2011,17(4).
[3] 孟祥宇.虛擬現(xiàn)實技術(shù)在現(xiàn)代教育中的應(yīng)用研究[J].重慶科技學(xué)院學(xué)報,2011(5).
[4] 張春.仿真實驗系統(tǒng)的設(shè)計與開發(fā)[J].煤炭技術(shù),2013(6).
[5] 蔣耘晨.虛擬實驗室技術(shù)[M].北京理工大學(xué)出版社,2011.
[6] 母詩源.虛擬實驗綜合輔助教學(xué)的設(shè)計與應(yīng)用[D].北京郵電大學(xué),2012.
[7] 布勞恩斯坦(美).ActionScript3.0寶典[M].清華大學(xué)出版社,2012.
[8] 趙冬利.基于flash技術(shù)的NMR虛擬實驗室的構(gòu)建[D].大連理工大學(xué),2013.