摘 要:應(yīng)用Flash CS中的ActionScrip腳本語言于氫原子動畫模型中,不僅定義了電子在原子內(nèi)隨機(jī)出現(xiàn)的范圍,同時也表現(xiàn)出電子在核外空間的無規(guī)則運動;并通過設(shè)置不同的參數(shù)表現(xiàn)電子在核外不同位置出現(xiàn)的幾率,進(jìn)一步引出電子云的概念。
關(guān)鍵詞:Flash動畫; 隨機(jī)函數(shù); 電子; 電子云; 核外運動
中圖分類號:TP317.4 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-3315(2016)01-031-002
高中物理和化學(xué)學(xué)習(xí)中,電子在原子的核外空間做高速運動看不到摸不著,不易理解。多媒體課件制作中如果插入Flash動畫,可以形象地表現(xiàn)微觀世界,可輔助學(xué)習(xí)。但根據(jù)其自動生成的補(bǔ)間動畫或引導(dǎo)層動畫,賦予電子的運動軌跡就是固定的,不能科學(xué)地表現(xiàn)電子運動的無規(guī)則性。而在Flash的腳本語言中應(yīng)用隨機(jī)函數(shù),就可以簡單、直觀地表現(xiàn)出電子真實的運動狀態(tài)[1]。
制作該動畫的要點是電子在核外空間隨機(jī)坐標(biāo)的計算。由于原子核的外觀是由弧線構(gòu)成的圓,所以需要應(yīng)用Math.sqrt等函數(shù)進(jìn)行運算,即根據(jù)電子在核外空間出現(xiàn)的橫坐標(biāo)x,求得相應(yīng)的縱坐標(biāo)y。
1.創(chuàng)建基本元件
第一步:創(chuàng)建原子。打開FlashCS,選擇【橢圓工具】,打開【顏色】面板,設(shè)置“筆觸顏色”為無;“類型”為放射狀;繪制一從中心到邊緣為黑色-白色放射狀漸變的圓。
第二步:創(chuàng)建原子核。選擇【插入】/【新建元件】,在對話框中選擇“圖片”,命名為“原子核”。利用【橢圓工具】繪制一白色-藍(lán)色放射狀漸變小球,并在小球中間添加“+”代表電性。
第三步:創(chuàng)建電子。新建“影片剪輯”,命名為“電子”。利用【橢圓工具】繪制一白色-
橙色放射狀漸變小球,并在小球中間添加“-”代表電性[2]。在第二幀插入【空白關(guān)鍵幀】,按F9鍵打開【動作-幀】面板添加代碼:stop();。
2.創(chuàng)建氫原子的動畫
第一步:回到場景1,從【庫】中拖動“原子核”到舞臺。打開【對齊】面板,應(yīng)用“水平中齊”和“垂直中齊”使“原子核”位于“原子”的中心。如圖1。
第二步:從【庫】中拖動“電子”到舞臺中“原子”的范圍內(nèi),在【屬性】中設(shè)置【實例名稱】為“e”。打開【動作-幀】面板添加如下代碼:
i=0;
/*定義原子核的位置及半徑*/
mx1=200;
my1=200;
r=150;
onEnterFrame=function(){//以幀的頻率執(zhí)行以下動作
duplicateMovieClip(“e”,“e”+i,i);//復(fù)制電子
/*計算圓內(nèi)電子的隨機(jī)坐標(biāo)*/
x1=mx1-r+random(2*r);
y0=Math.sqrt(r*r-Math.abs(x1-mx1)*Math.abs(x1-mx1));
//Math.sqrt:開方;Math.abs:求絕對值
y1= my1-y0+random(2*y0);
/*把隨機(jī)坐標(biāo)賦予給新電子*/
_root[\"e\"+i]._x=x1;
_root[\"e\"+i]._y=y1;
i++;
};
代碼說明:代碼中所涉及的變量和屬性值含義如圖2所示。
第三步:動畫制作完成,按Ctrl+Enter鍵可以測試影片。
3.創(chuàng)建電子云的動畫
核外電子的運動與宏觀物體運動不同,沒有確定的方向和軌跡,只能用電子云描述電子在原子核外空間某處出現(xiàn)幾率的大小。為了該知識點演示效果的需要,可以把體積相對放大的電子縮小。打開影片剪輯“電子”,點擊第一幀,在【變形】面板,設(shè)置“高度”與“寬度”為5%,刪除第二幀。這樣保留電子在核外空間出現(xiàn)的蹤跡,有助于讓學(xué)生在頭腦中初步形成電子云的概念。教師在此基礎(chǔ)上就可以輕松地引出圖3講解氫的核外電子云云圖[3]。
在第一幀根據(jù)電子云出現(xiàn)的幾率不同,設(shè)置如下代碼:
k=0;
onEnterFrame=function(){
for(i=0;i<9;i++){
duplicateMovieClip(\"e\",\"e\"+k,k);
r=random(100);
angle=2*Math.PI*Math.random();//設(shè)置0-2π之間的隨機(jī)角度
if(r<25){
alpha0=100;//在r<25范圍內(nèi)出現(xiàn)的電子是完全不透明的
}else{
/*計算25 alpha0=100*Math.random(); } _root[\"e\"+k]._x=200+r*Math.sin(angle); _root[\"e\"+k]._y=200+r*Math.cos(angle); _root[\"e\"+k]._alpha=alpha0; k++; } for(i=0; i<2; i++) { duplicateMovieClip(\"e\", \"e\"+k, k); /*計算100 r=random(25)+100; alpha0=(100); angle=2*Math.PI*Math.random(); _root[\"e\"+k]._x=200+r*Math.sin(angle); _root[\"e\"+k]._y=200+r*Math.cos(angle); _root[\"e\"+k]._alpha=alpha0; k++; } }; 4.小結(jié) Flash動畫可以非常詳細(xì)地描述抽象、微觀的世界。很多人僅僅能熟練應(yīng)用Flash的幾種基本動畫形式,對腳本語言的編程系統(tǒng)卻感到很棘手。掌握幾種基礎(chǔ)的ActionScrip腳本語言并靈活應(yīng)用于多媒體學(xué)習(xí)中,是制作一個有層次、有深度、有亮點的課件的基本條件。只有合適的教學(xué)素材及構(gòu)思,加上表現(xiàn)該創(chuàng)意的腳本語言,才會產(chǎn)生與課堂教學(xué)相匹配的高效的課件[4]。 致謝:感謝保定學(xué)院萬麗老師的指導(dǎo)。 參考文獻(xiàn): [1]智慧.Flash動畫在多媒體課件制作中的應(yīng)用[J]科技文匯,2009,(2):102 [2]王艷.淺談《FLASH動畫設(shè)計與制作》教學(xué)方法[J]信息與電腦(理論版),2011,(04):221 [3]余德潤.氫原子動畫模型的制作[J]中國教育技術(shù)裝備,2005,(2):39-40 [4]孫月興.淺談 FLASH 課程工作過程導(dǎo)向教學(xué)課程體系的構(gòu)建[J]濰坊教育學(xué)院學(xué)報,2008,21(2):32-34