【摘要】在計(jì)算機(jī)輔助教學(xué)中,學(xué)生需要的不僅僅是一些墨守成規(guī)的演示動(dòng)畫。利用Flash的豐富表現(xiàn)力和強(qiáng)大ActionScript交互功能開發(fā)出的仿真實(shí)驗(yàn),可以讓學(xué)生感覺到真實(shí)實(shí)驗(yàn)儀器的存在,并與之交互。以電磁感應(yīng)仿真實(shí)驗(yàn)為例,來說明Flash在制作物理仿真實(shí)驗(yàn)中的應(yīng)用。
【關(guān)鍵詞】Flash,元件,場(chǎng)景,仿真實(shí)驗(yàn)
【中圖分類號(hào)】G434 【文獻(xiàn)標(biāo)識(shí)碼】B【論文編號(hào)】1009—8097(2006)06—0069—04
目前網(wǎng)絡(luò)上大多數(shù)物理課件是用Flash制作開發(fā)的。然而僅僅通過Flash自身的畫圖工具所畫出的物理模型比較簡(jiǎn)單,與真實(shí)實(shí)驗(yàn)中的儀器差距大,略顯稚嫩。并且課件往往是通過演示動(dòng)畫的形式表現(xiàn)出來的,交互性不強(qiáng)。因此這樣的課件在應(yīng)用到實(shí)際的教學(xué)中時(shí),效果并不理想。
仿真實(shí)驗(yàn),就是創(chuàng)造一個(gè)可視化的實(shí)驗(yàn)環(huán)境,其中每個(gè)可視化仿真物體代表一種實(shí)驗(yàn)儀器或設(shè)備,通過操作這些虛擬的實(shí)驗(yàn)儀器或設(shè)備,進(jìn)行各種復(fù)雜的實(shí)驗(yàn),達(dá)到理想實(shí)驗(yàn)的教學(xué)要求和目的[1]。本文以電磁感應(yīng)物理實(shí)驗(yàn)為例,用Flash設(shè)計(jì)和制作其物理仿真實(shí)驗(yàn)。
一、電磁感應(yīng)仿真實(shí)驗(yàn)簡(jiǎn)介
電磁感應(yīng)現(xiàn)象是當(dāng)閉合導(dǎo)體回路中的磁通量發(fā)生變化時(shí),回路中有電流的產(chǎn)生。根據(jù)磁通量公式Ф=BSsinа,當(dāng)B、S和а發(fā)生變化時(shí),磁通量Ф就發(fā)生變化。在電磁感應(yīng)實(shí)驗(yàn)中,直徑較大的線圈(副線圈)與檢流計(jì)連接,將條形磁鐵的N極與S極分別插入或拔出副線圈,副線圈的磁通量發(fā)生變化,閉合回路中有電流產(chǎn)生,并且隨著條形磁鐵移動(dòng)速度的變化,回路中產(chǎn)生的電流有大有小,檢流計(jì)指針的偏轉(zhuǎn)反映了電流的變化。將條形磁鐵換成有導(dǎo)線纏繞的直徑較小的線圈(原線圈),將原線圈插入或拔出副線圈,再次觀察檢流計(jì)指針的偏轉(zhuǎn)情況。
當(dāng)學(xué)生進(jìn)入電磁感應(yīng)仿真實(shí)驗(yàn)后(見圖1),可以看到屏幕的左側(cè)是導(dǎo)航部分,包括實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)原理、實(shí)驗(yàn)儀器、實(shí)驗(yàn)步驟和退出5部分。右側(cè)是工作區(qū),為學(xué)生提供操作實(shí)驗(yàn)儀器的界面。

該實(shí)驗(yàn)最重要的是實(shí)驗(yàn)步驟部分,當(dāng)學(xué)生點(diǎn)擊實(shí)驗(yàn)步驟后,可以觀察到右側(cè)出現(xiàn)的是一個(gè)實(shí)驗(yàn)桌,實(shí)驗(yàn)桌的柜子里裝著該實(shí)驗(yàn)需要的各種儀器,且桌門是關(guān)閉的。實(shí)驗(yàn)步驟主要分為以下幾個(gè)部分:
步驟一:放置儀器。單擊放置儀器按鈕(見圖1中①),當(dāng)學(xué)生單擊桌門(即打開桌門)后,桌門打開,桌面上給出儀器位置的提示,通過鼠標(biāo)拖動(dòng)儀器將其放到指定的位置。
步驟二:連接導(dǎo)線。單擊連接導(dǎo)線按鈕(見圖1中②),儀器的接線頭處出現(xiàn)閃爍的提示,學(xué)生單擊提示后,該提示消失,當(dāng)學(xué)生單擊完兩處提示后,位于兩提示之間的導(dǎo)線連接起來。依此為例,學(xué)生按照提示將不同的儀器通過導(dǎo)線一步一步連接起來。
步驟三:條形磁鐵。單擊條形磁鐵按鈕(見圖1中③),學(xué)生可通過上下拖動(dòng)磁鐵,來觀察檢流計(jì)指針的偏轉(zhuǎn)。
步驟四:原線圈。單擊原線圈按鈕(見圖1中④),當(dāng)閉合開關(guān)后,上下拖動(dòng)原線圈或左右拖動(dòng)滑動(dòng)變阻器上的滑塊,觀察檢流計(jì)指針的偏轉(zhuǎn)。
二、電磁感應(yīng)仿真實(shí)驗(yàn)的制作
(一)元件的制作
1、準(zhǔn)備工作
在仿真實(shí)驗(yàn)中,為了使實(shí)驗(yàn)儀器最大程度地體現(xiàn)真實(shí)感,
可以用3D max來制作模型。制作出來的儀器模型以*.PNG格式導(dǎo)出,然后再把圖片導(dǎo)入到Flash當(dāng)中。在將儀器導(dǎo)出為圖片之前,一個(gè)值得注意的地方是,在3D的編輯區(qū)中把所有用到的儀器都按照在Flash中顯示的角度來擺放,這樣在Flash導(dǎo)入這些圖片后,能保證儀器之間有正確的視角。在電磁感應(yīng)仿真實(shí)驗(yàn)中,包括開關(guān)、滑動(dòng)變阻器等儀器,開關(guān)和滑動(dòng)變阻器是可調(diào)的,即開關(guān)的閘刀和滑動(dòng)變阻器的滑塊是可以拖動(dòng)的,因此必須將閘刀和滑塊分別單獨(dú)導(dǎo)出為一幅圖片。
2、制作元件
把從3D導(dǎo)入的圖片轉(zhuǎn)換成影片剪輯元件。
在制作“連接導(dǎo)線”元件的時(shí)候,可以先把儀器放到場(chǎng)景中指定的位置,然后再參照儀器的位置畫出導(dǎo)線。

在制作“桌門”元件的時(shí)候,由于它在實(shí)驗(yàn)當(dāng)中能響應(yīng)鼠標(biāo)按鍵而產(chǎn)生開關(guān)門的動(dòng)作,所以,首先應(yīng)該把它做成按鈕類型,然后在把該按鈕放到新建的影片剪輯中。在新的影片剪輯中,第一幀制作出關(guān)門狀態(tài),第二幀制作出開門狀態(tài)。分別選中兩幀,在兩個(gè)幀動(dòng)作窗口中加入stop();語句。
選中第一幀場(chǎng)景上的門按鈕,在動(dòng)作-按鈕窗口中加入:
on(release){
gotoAndPlay(2);
}
選中第二幀場(chǎng)景上的門按鈕,在動(dòng)作-按鈕窗口中加入:
on(release){
gotoAndPlay(1);
}
(二)場(chǎng)景的制作
在Flash中通過制作四個(gè)場(chǎng)景來分別呈現(xiàn)仿真實(shí)驗(yàn)內(nèi)容中的“放置儀器”、“連接導(dǎo)線”、“條形磁鐵”和“原線圈”四步驟。
1、場(chǎng)景1——放置儀器的制作
打開庫面板,把用到的元件拖放到場(chǎng)景中。首先將“桌子”元件從庫中拖出,然后依次拖出“變阻器”、“電源”、“開關(guān)”、“檢流計(jì)”、“副線圈”和“原線圈”等6元件,最后拖出的是“桌門”元件。拖出的順序不同,從而保證儀器正常的重疊關(guān)系。選中元件,打開屬性面板,為每一個(gè)元件命名合適的名字。
選中“桌門”元件,在屬性面板中,選中顏色下拉框中的Alpha,將Alpha值設(shè)為80%,這樣桌子門就變成半透明的,從而產(chǎn)生玻璃的效果。
在仿真實(shí)驗(yàn)中,“開關(guān)”等6儀器是可以拖動(dòng)的。即單擊儀器后,儀器跟隨鼠標(biāo)移動(dòng),釋放鼠標(biāo)后,儀器停留在鼠標(biāo)停留的位置。還可以判斷儀器是不是已經(jīng)放在原來設(shè)計(jì)好的一個(gè)區(qū)域,如果是,則放置儀器到桌面指定的位置,否則,儀器返回到拖動(dòng)前的位置。為了實(shí)現(xiàn)此種效果,可以在各儀器元件中的動(dòng)作面板中加入以下語句,以“開關(guān)”元件為例:
on(press) {
startDrag(“”);
}
on(release){
stopDrag();
with(_root.kaiguan){
if (_x
setProperty(“”,_x,x’);
setProperty(“”,_y,y’);
}
}
2、場(chǎng)景2——連接導(dǎo)線的制作
新建場(chǎng)景2,把庫中的各導(dǎo)線元件拖放到場(chǎng)景中,依照導(dǎo)線的形狀將導(dǎo)線和各個(gè)儀器元件連接起來。由于該實(shí)驗(yàn)在跳轉(zhuǎn)到場(chǎng)景2伊始,導(dǎo)線是看不到的,因此選中場(chǎng)景2的第一幀,在幀-動(dòng)作面板中加入:setProperty(“_ root.daoxian”,_visible,0);語句。每條導(dǎo)線都需要setProperty()一次。
在仿真實(shí)驗(yàn)中,學(xué)習(xí)者是通過接線頭處的提示來完成連接導(dǎo)線的(如圖2),學(xué)習(xí)者分別點(diǎn)擊接線頭處閃爍的提示按鈕后,按鈕消失,當(dāng)連續(xù)點(diǎn)擊完兩處提示按鈕后,導(dǎo)線顯現(xiàn)出來。從而就產(chǎn)生了通過鼠標(biāo)單擊接線頭,而將兩儀器用導(dǎo)線連接起來的效果。為了實(shí)現(xiàn)這個(gè)功能,可以通過創(chuàng)建三個(gè)關(guān)鍵幀來實(shí)現(xiàn)。如圖3。
在第一幀中,可以定義兩個(gè)變量。Var a=0; b=0; 在第三個(gè)幀的幀-動(dòng)作面板中加入:
if(_root.a==1_root.b==1){
setProperty(“_root.daoxian”,_visible,1);
gotoAndPlay(3);
}else{
gotoAndPlay(1);
}
然后在選中幀中的第一個(gè)接線頭處的提示按鈕,在動(dòng)作-按鈕面板里加入:
on(release){
setProperty(“”,_visible,0);
_root.a=0;
}
選中第二個(gè)接線頭處的提示按鈕,在動(dòng)作-按鈕面板里加入:
on(release)
{setProperty(“”,_visible,0);
_root.b=0;
}
其他的導(dǎo)線都可以依照此種方式,從而一步一步地顯示出來。
3、場(chǎng)景3——條形磁鐵的制作
在此場(chǎng)景中,學(xué)生將磁鐵插入副線圈的孔中,觀察檢流計(jì)指針的偏轉(zhuǎn)情況。再將磁鐵拔出,觀察檢流計(jì)的指針。改變磁鐵插入與拔出的速度,觀察檢流計(jì)指針的偏轉(zhuǎn)變化。將磁鐵的兩極調(diào)轉(zhuǎn)后,再插入與拔出副線圈的孔,觀察檢流計(jì)指針的偏轉(zhuǎn)變化。
條形磁鐵是上下移動(dòng)的,因此可以在條形磁鐵元件的動(dòng)作面板里加入:
on(press){
startDrag(“”,x,y1,x,y2);
}
on(release){
stopDrag();
}
x為條形磁鐵在場(chǎng)景中的x坐標(biāo),由于條形磁鐵只是上下移動(dòng),因此條形磁鐵在移動(dòng)前后的x坐標(biāo)是不變的,只是前后位置的y坐標(biāo)發(fā)生了改變。
檢流計(jì)指針的變化是通過在幀動(dòng)作來實(shí)現(xiàn)的。建立三個(gè)關(guān)鍵幀(如圖4),在第一個(gè)幀中,定義變量a來記錄條形磁鐵拖動(dòng)過程中位置的變化。定義變量y來記錄滑塊上一次的y坐標(biāo)。在第三個(gè)幀的動(dòng)作面板里加入:
_root.a=_root.huakuai._y-y;
y=_root.huakuai._y;
if(k==0{
setProperty(“_root.zhizhen”,_rotation,_root.a);
}
gotoAndPlay(2);
在轉(zhuǎn)變條形磁鐵的兩極后,檢流計(jì)指針偏轉(zhuǎn)的變化與條形磁鐵沒轉(zhuǎn)換兩極時(shí)正好是相反的,因此為實(shí)現(xiàn)此種情況,只需把第三幀的幀動(dòng)作面板里第一條語句改成:_root.a=y-_root.huakuai._y;就行了。
4、場(chǎng)景4——原線圈的制作
在該場(chǎng)景中,學(xué)生閉合開關(guān)后,將原線圈插入副線圈的孔中,觀察檢流計(jì)指針的偏轉(zhuǎn)情況。再將原線圈拔出,觀察檢流計(jì)的指針。改變?cè)€圈插入與拔出的速度,觀察檢流計(jì)指針的偏轉(zhuǎn)變化。拖動(dòng)滑動(dòng)變阻器上滑塊的位置,觀察檢流計(jì)指針的偏轉(zhuǎn)變化,改變拖動(dòng)滑塊的速度,再次觀察檢流計(jì)指針的偏轉(zhuǎn)變化。(見圖5)

首先可以通過設(shè)定一個(gè)變量k來記錄開關(guān)的閉合。初始化k=1,即開關(guān)初始化是打開的。然后在開關(guān)按鈕的動(dòng)作面板上加入:
on(release){
if(k==0){
setProperty(“”,_rotation,20);
k=0;
} else{
setProperty(“”,_rotation,1);
k=1;
}
在實(shí)驗(yàn)中,原線圈是上下移動(dòng)的,原線圈與場(chǎng)景3中的條形磁鐵的移動(dòng)是一樣的,因此原線圈元件的動(dòng)作面板里語句同條形磁鐵。滑動(dòng)變阻器上的滑塊是左右移動(dòng),因此可以在滑塊的動(dòng)作面板里加入:
on(press){
startDrag(“”,x1,y,x2,y);
}
on(release) {
stopDrag();
}
檢流計(jì)中指針元件的動(dòng)作面板里的語句與場(chǎng)景3中檢流計(jì)指針元件的動(dòng)作面板里的語句相同,在此不在重復(fù)。
三、小結(jié)
通過此種方法制作的仿真實(shí)驗(yàn),不僅為學(xué)習(xí)者提供了真實(shí)的操作界面,達(dá)到真實(shí)實(shí)驗(yàn)儀器的各種功能,而且為學(xué)習(xí)者提供了實(shí)驗(yàn)現(xiàn)象的仿真,做到了實(shí)驗(yàn)的真實(shí)再現(xiàn)。在實(shí)際的教學(xué)過程中,運(yùn)用此種仿真實(shí)驗(yàn)使得原本平淡的實(shí)驗(yàn)課陡添幾分生機(jī)和活力,讓實(shí)驗(yàn)課上單調(diào)可陳的實(shí)驗(yàn)步驟說明變得活力十足。雖然仿真實(shí)驗(yàn)并不能完全代替真實(shí)實(shí)驗(yàn),然而通過使用該仿真實(shí)驗(yàn)有利于學(xué)生對(duì)實(shí)驗(yàn)內(nèi)容的理解,有利于學(xué)生對(duì)知識(shí)點(diǎn)的橫向遷移。運(yùn)用此種仿真試驗(yàn)達(dá)到了比較理想的教學(xué)效果,因此受到教師和學(xué)生的一致好評(píng)。
參考文獻(xiàn)
[1] 王鑫.肖化.吳先球.基于Flash的遠(yuǎn)程仿真實(shí)驗(yàn)[J].實(shí)驗(yàn)室研究與探索,2005,(3):1