用Flash模拟波的形成与传播,本文主要内容关键词为:Flash论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
在中学物理教学中,虚拟实验是颇受争议的一种教学手段。如:将木块和铁块同时放置水中,真实的情况是木块浮于水面,铁块沉入水底。但在课件中,却可以做到让铁块浮于水面,而让木块沉入水底。也就是说,实物实验建构的情境是真实的,而虚拟实验的情境是经过人为加工的,依赖于加工者的理解水平和制作水平,因此教学中,我们应尽量建构真实情境。然而有的情境难以真实构建,如:从微观角度再现横波和纵波的传播,这时就必须借助于虚拟实验。下面笔者即以Flash模拟波的形成与传播为例讨论Flash在物理实验教学中的应用。
一、制作思路
机械波分为横波和纵波。质点振动方向与波的传播方向垂直的波叫横波,质点振动方向与波的传播方向在同一直线上的波叫纵波。气体、液体、固体都能传播纵波,但气体、液体不能传播横波(表面可以)。所以,课件《横波》也可以展示纵波,而课件《纵波》只能展示纵波。由于是实时运动,为方便讲解,必须有暂停、运行、退出等功能。
二、制作步骤
附图
第一步,放置质点图片,并对质点进行语言描述。
打开Flash MX,单击“文件→新建”新建一个文件,单击“窗口→属性”,大小为800×600,背景选黑色,帧频30fps,第一层命名为“质点”。
单击“窗口→库”,执行,新建“影片剪辑”命名为“zao”,用“椭圆工具”画圆。重复12次,依次命名为“za1”“za2”……“za11”。
回到场景,按F11打开“库”,将“za0”拖入场景中,单击“窗口→属性”将“实例名称”改为“za0"。单击“窗口→动作”加入Action Script语句:
onClipEvent(mousedown){
Mouse.hide();
root.za0.startDrag(1);
}//按下鼠标左键后执行拖动动作,并隐藏鼠标。
按F11打开“库”,将“za1”至“za11”拖入场景,“实例名称”依次改为“za1”至“za11”。
第二步,对“帧”进行语言描述。
单击“插入一图层”,命名为“语言”,单击“插入→关键帧”,第一帧Action Script语句如下:
n=1;
while(n<12){
zz="za"add n;
zzx=getProperty(zz,_x);
zzy=getProperty(zz,_y);
zzj="za"add(n-1);
zzjx=getProperty(zzj,_x);
zzjy=getProperty(zzj,_y);
dzx=zzx-zzix-87;//设置分子间的距离
dzy=zzy-zzjy;
spdX="speedX"add n;//水平振动
spdY="speedy"add n;//垂直振动(删去此句,实现纵波效果)
set(spdx,dzx/10+eval(spdx));
set(spdy,dzy/10+eval(spdy));
setProperty(zz,_x,zzx-eval(spdx));
setProperty(zz,_y,zzy-eval(spdy));
set(spdx,eval(spdx)*0.64);//水平方向阻尼系数
set(spdy,eval(spdy)*0.64);//垂直方向阻尼系数
n++;}
第二帧Action Script语句如下:
gotoAndPlay(1);
第三步,加入按钮、坐标、说明等效果。
单击“插入→图层”,命名为“按钮”,在第一帧输入ActionScript语句如下:fscommand(“fullscreen”,true);//实现全屏
按F11打开“库”,新建“图形”文件,命名为“背景”,绘制图2。将“背景”拖入场景。
附图
图2
单击“窗口→公用库→按钮”,选三个按钮拖入场景,分别用Action Script语句描述:
按钮一:
On(release,keyPress"q"){fscommand("quit");
}//按Q键退出
按钮二:
on(release,keyPress"s"){stop()
}//按S键暂停
按钮三:
On(release,keyPress"a"){play()
}//按A键运动
为了美观,按钮可移离场景的黑色区,最终效果中将看不到按钮。
Ctrl+Enter观察效果。
标签:按钮论文;