姜東洋
摘要:針對高等職業(yè)院校電子實訓教學為例設計開發(fā)完成了虛擬實驗室教學系統(tǒng),通過綜合運用演示、分組教學、討論等多種方法,實現(xiàn)幫助和促進學生實驗實訓的學習任務,成果基于FLASH技術開發(fā)具有較好的適切性。
關鍵詞:FLASH虛擬實驗環(huán)境ActiongScript腳本
中圖分類號:G2 文獻標識碼:A 文章編號:1674-098X(2012)06(c)-0007-01
1 引言
虛擬實驗室通過web技術和虛擬仿真技術等實現(xiàn)傳統(tǒng)的教學實驗室數(shù)字化和虛擬化,加強學生實際操作能力的培養(yǎng),筆者結合某高職院校的電子實驗課程初步設計以下系統(tǒng),輔以FLASH技術,教學效果顯著。
2 虛擬實驗室的實現(xiàn)
虛擬實驗室的設計要考慮到現(xiàn)階段的實驗室的不足和缺陷,有針對性的開發(fā)。在學生成功登錄虛擬實驗室之后能準確的根據(jù)相關的要求將模擬的元器件組裝成為一個完整的實驗系統(tǒng)。并在此基礎上將實驗的整個過程予以完成,實驗用的資源是以Flash動畫的形式予以實現(xiàn)。虛擬實驗室需要實現(xiàn)以下目標:當?shù)顷懱摂M實驗室之后,可以把實驗中需要用到的模擬元材料按順序合理拼裝,完成實驗系統(tǒng),并且有條理的進行實驗。
2.1 實驗項目查詢
實驗項目查詢模塊支持學生檢索系統(tǒng)包含的實驗項目,在此可以查詢每個實驗項目的具體信息。
2.2 啟動實訓教學環(huán)節(jié)
實驗活動進行主要是在“啟動實訓教學”環(huán)節(jié),學生根據(jù)實驗原理,準備相關元器件,并進行實驗。首先要由虛擬實驗資源庫導出演示型FLASH實驗資源,學習其中的電路設計,對于復雜部分可以重復研究,預測實驗中可能出現(xiàn)的問題并提前設計解決方案。根據(jù)實驗需要選擇合適的元器件。
2.3 實訓總結
學生在實驗中的每個步驟都是通過實訓總結予以記錄。在進行電路物理量的實驗過程中,學生可以邊進行實驗邊將數(shù)據(jù)記錄至實訓總結報告單中,在實訓報告單中還會設置相應的思考題,在題目下方留有一個文本輸入框,以備學生在實驗過程中總結的心得、體會記錄其中,老師也可以通過小結了解學生的掌握程度,并根據(jù)學生的報告給出相應的合適的成績。
2.4 學生信息查詢
記錄每位學生的詳細資料和實驗過程、結果,該模塊用于學生查詢個人實驗成績,掌握目前學習的能力水平和不足之處。
3 FLASH技術開發(fā)虛擬實驗環(huán)境
下面介紹虛擬電子實驗室中三種重要動作的實現(xiàn)過程。
3.1 實訓環(huán)境中對象動態(tài)效果制作
虛擬電子實訓環(huán)境是采用startdrag和stopdrag動作語句來實現(xiàn)環(huán)境中的元件任意拖拽來實現(xiàn),但是如果在這種情況下允許元件的任意放置就會出現(xiàn)過多的交叉點,甚至還會出現(xiàn)元件相互疊放的情況。因此在編程過程中可以采取如下的解決方案以避免這種情況,具體方案如下:將一整個實驗臺劃分成為若干個小的方格,將元件拖動至舞臺是需要松開手,將元件的x、y軸坐標值與相近的方格坐標值進行判斷,自動將元件的坐標設成距離最近方格的坐標,并使元件停在對應方格的頂點部位,產(chǎn)生一種“吸附”現(xiàn)象,想將相應的程序報告如下:
通過STARTDRAG、STOPDRAG動作語句可以對實驗中的元件進行任意拖拽,然而元件的任意放置會有大量的連接線交叉,或者引起元件互相疊放。為了避免這種問題出現(xiàn),編程時可以對實驗臺進行劃分,
onClipEvent(mouseDown){ //鼠標按下時
if(hitTest(_-root.xmouse,_root._ymouse,false)) //限制在影片剪輯的范圍內(nèi)容內(nèi)
{this.startDrag();} }//開始拖動影片剪輯
onClipEvent(mouseuUp){ //當鼠標松開時
if(hitTestL(_root.Xmouse,_root._ymouse,false))
{this.stopDra個();}} //停止拖動影片剪輯
3.2 FLASH完成虛擬動態(tài)連接
先后點擊了兩個元件的連接柱后即完成了電路元件的任意連接,連線采用正確的點擊方式,相對應錯誤的點擊方式會給出提示。在動畫編程中每個按鈕的動作狀態(tài)是通過變量進行記錄的,相關聯(lián)的兩個接線柱是都被按下是通過變量之間的“與關系”進行判斷的,如果是都被按下則根據(jù)坐標判斷兩點之間的位置并執(zhí)行相應的連接步驟,并使按鈕狀態(tài)變量復位;如果不是相關聯(lián)的接線柱,則根據(jù)它們之間的具體情況復制相應的錯誤信息提示影片剪輯。
程序如下:
11v=O;12v=O;s11v=O;s12v=O;s21v=0: //初始化記錄各按鈕狀態(tài)的變量
setPropercy(“tishi”,_Visible,0); //將提示錯誤的影片剪輯設為不可見
_root.onEnterFrame=1ianjie; //調(diào)用畫線函數(shù)
Function lianjie(){//定義畫線函數(shù)
if((_-root.11v==1)&&ooot.s11v==1)){//判斷兩個正確的接線柱是否先后被按下
x1=_root.l1._x; y1=_root.l1._y;
x2=)root.s11._x;y2=Joot._s11._y;//設置畫線的起點和終點坐標值
11s11v=1: //設置記錄這段線路已連接的變量值為l
If(x1<=x2){ //根據(jù)坐標判斷兩點之間的位置,執(zhí)行相應的畫線步驟
1il年estyle(2,0)axff0OOO,100); moveTo(x1,y1);
lineTo(x1+40,y1); lineTo (x1+40,y2); lineTo (x2,y2);
11v=0;s11v=0;, //按鈕狀態(tài)變量復位
Else(
1iIlestyle(2,0xff0000,100);moveTo(X1,y1);
lineTo(x1+40,y1); lineTo (x1+40,y2); lineTo (x2,y2);11v=O;s12v=0;}}
3.3 數(shù)據(jù)庫鏈接
首先設置一個值賦唯恐的記錄變量,在執(zhí)行具體實驗步驟過程中將變量賦值為“已連接”,在動畫舞臺上添加一個動態(tài)的文本框,在屬性文本框中輸入該變量名,舞臺上出現(xiàn)“已連接”字樣的時候則表明某一個實驗步驟的動作結束,通過LoadVars命令,可以使用GET或POST方怯。將數(shù)據(jù)傳遞給ASP程序,或從AsP程序接受數(shù)據(jù),實現(xiàn)實驗數(shù)據(jù)的遞交和實驗數(shù)據(jù)的查詢功能。程序如下:
t1=””; //首先設置一個記錄變量,將其值賦為空
on (press){ //在實驗步驟動作執(zhí)行語句中給變量賦值為字符串“已連接”
_root.t1=”已連接”;}
function searchO{//定義調(diào)用asp程序的函數(shù)
10advars(”c4_-02_01.asp”,”_root.lianjie”,”GET”);