金宜亮
摘要:隨著信息技術(shù)的迅猛發(fā)展,多媒體技術(shù)在教育教學(xué)上的應(yīng)用變得越來越廣泛,也越來越重要?;ヂ?lián)網(wǎng)上有關(guān)畫簡諧運(yùn)動圖像的課件由于所用的腳本多為as1.0腳本,十分落后于flash腳本語言的發(fā)展,在編程上顯得繁瑣,交互性也不強(qiáng),而且繪圖過程也不真實(shí)。鑒于此,本文講述了用最新的flash腳本語言——as3.0腳本語言,制作繪制彈簧振子的簡諧運(yùn)動圖像的過程和方法以及利用本課件師生如何進(jìn)行課堂交互和探究學(xué)習(xí)的flash課件的方法。
關(guān)鍵詞:flash課件;as3.0腳本;交互;探究
中圖分類號:TP37 文獻(xiàn)標(biāo)志碼:B 文章編號:1674-9324(2012)01-0205-02
隨著信息技術(shù)的發(fā)展,多媒體教學(xué)越來越受到老師們的喜愛。而flash,因?yàn)槠湓O(shè)計(jì)制作的課件具有交互性強(qiáng)、界面美觀、形象生動等特點(diǎn)也成為老師們的至愛,我在學(xué)習(xí)flash腳本時(shí),曾經(jīng)在網(wǎng)上發(fā)現(xiàn)了一個繪制簡諧運(yùn)動振動圖像的課件,發(fā)現(xiàn)其腳本是as1.0的,一個并不復(fù)雜的動畫,分布在各處的代碼足足有五六百行,而且交互性并不好,動畫也不太真實(shí)。我根據(jù)自己上課的需要,用最新的flash cs5軟件和as3.0腳本設(shè)計(jì)制作了一個畫彈簧振子做簡諧運(yùn)動的振動圖像并可以進(jìn)行課堂探究、交互性較強(qiáng)的課件。下面我將設(shè)計(jì)思路和設(shè)計(jì)過程和大家分享,不當(dāng)之處請各位老師批評指正。
一、教學(xué)需求分析
課件能實(shí)時(shí)繪出做簡諧運(yùn)動的振動圖像;課件應(yīng)能通過鍵盤輸入數(shù)字,改變玻璃板的運(yùn)動速度;課件應(yīng)能對比在玻璃板以不同速度運(yùn)動時(shí),振動圖像的區(qū)別,并進(jìn)行探究分析;課件還應(yīng)具有清除所畫圖像以及玻璃板可拖動的功能等。
二、界面部分的制作
1.啟動flash cs5,新建flash3.0文檔。設(shè)置文檔大小為800px×600px,背景色為藍(lán)色0x669900,幀頻為24.
2.在場景圖層1上新建三個影片剪輯元件。輕質(zhì)彈簧、振子和玻璃板,分別命名為tanhuan、zhenzi和paper。
3.新建圖層2,從公用庫—按鈕里拖出三個按鈕,放到圖層2合適的位置。分別命名為start_btn,clear_btn,stop_btn,用來控制播放和進(jìn)行交互。
4.新建圖層3,在圖層3上用文本工具拉出一個輸入文本框,將框命名為v_txt。
5.制作一個課件使用說明的影片剪輯,命名為shmwz,再畫一個按鈕元件,取名為shum_btn,也拖到舞臺上。
至此,舞臺上的演員已經(jīng)布置完畢,下面就輪到as3.0腳本大顯身手了,它可實(shí)現(xiàn)動作和交互。
三、flash腳本的編寫
首先新建圖層4,將該圖層改名為as。下面的腳本代碼全部寫在as圖層的第一幀上。(當(dāng)然你也可以把代碼寫在外部的as類文件上)為便于讀者讀代碼,我在代碼上加了一些必要的注釋。
var pp:Point=new Point();
var pp1:Point=new Point();
var line:Shape=new Shape();
var p:Point=new Point();
var t:Number=0;
var flag:Boolean=false;
paper.oldy=paper.y;
paper.oldx=paper.x;
tanh.Width=tanh.width;
mc.oldx=mc.x;
mc.oldy=mc.y;
start_btn.addEventListener(MouseEvent.CLICK,onstart);
clear_btn.addEventListener(MouseEvent.CLICK,onclear);
function onstart(e){
paper.addEventListener(Event.ENTER_FRAME,paperframe);
mc.addEventListener(Event.ENTER_FRAME,mcframe);
addEventListener(Event.ENTER_FRAME,frame);
}
//清除所畫圖線
function onclear(e){
removeEventListener(Event.ENTER_FRAME,frame);
mc.removeEventListener(Event.ENTER_FRAME,mcframe);
paper.removeEventListener(Event.ENTER_FRAME,paperframe);
init();
flag=!flag;
flag?line.graphics.clear():0;
}
function frame(e)
{
p.x=mc.x;
p.y=mc.y;
var p1:Point=paper.globalToLocal(p);
line.graphics.lineTo(p1.x,p1.y);
paper.addChild(line);
}
function mcframe(e){
t+=0.15;
mc.x=mc.oldx;
mc.x=paper.x+60*Math.sin(t);
tanh.width=mc.x-tanh.oldx;
}
function paperframe(e)
{paper.y+=v;
if (paper.y> paper.height/2)
{
paper.removeEventListener(Event.ENTER_FRAME,paperframe);
}}
好,腳本到此結(jié)束。右側(cè)兩圖是課件運(yùn)行時(shí)的兩幅截圖。有了as3.0腳本,課件的交互性更強(qiáng)了,課件也更有“魂”、更有“神”了。