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