WEB开发网
开发学院图形图像Flash 用Flash做物理课件之平抛运动 阅读

用Flash做物理课件之平抛运动

 2009-09-25 00:00:00 来源:WEB开发网   
核心提示: 3.元件及场景准备将影片背景设为深蓝色#000099,帧频设为20fps,用Flash做物理课件之平抛运动(2),大小700×500, 新建一个影片剪辑元件,读者可以自己研究, 注:本系列中所有课件均使用Flash MX制作,在中央画一个小球,使用渐变色填充增强立体感

3.元件及场景准备

将影片背景设为深蓝色#000099,帧频设为20fps,大小700×500。

新建一个影片剪辑元件,在中央画一个小球,使用渐变色填充增强立体感。

第一帧:打上标题,并从共享库引入一个play按钮。

第二帧:引入一个播放按钮、一个倒带按钮,在属性栏中将其名称(Instance Name)分别命名为bplay和back;用文字工具画一个文本框,在属性栏中将它改为“动态文本”,在关联变量一栏中填入t。从库中把小球拖到场景中创建一个对该剪辑的引用,命名为b1,大小为12×12,X坐标为100,Y坐标为6(图4是该帧的左上角)。

第三帧:空白帧。

4.程序编制

建议使用“专家”模式(单击“动作”窗口中的按钮转换)。

在Action Script中,setProperty,on,release这些关键词是区分大小写的,其他的诸如变量名、影片剪辑名称等则不必区分。

单击时间线中的第一帧,在动作窗口中输入第一帧的脚本:(//后为注释)

stop();
xp=100;
yp=6;//初始化位置变量

单击选中play按钮,在动作窗口中输入脚本:

on (release) { gotoAndStop(2); } 

第二帧的脚本:

v+=0.0625;//速度的增加
setProperty("b1", _x, xp+4); 
setProperty("b1", _y, yp+v);
//改变小球位置 
setProperty("back",_alpha,0)//隐藏倒带按钮 
yp=b1._y; xp=b1._x;//记录下当前位置
if (yp>=500) {//如果超出边界则停止
stop();
setProperty("back",_alpha,100);//使重播按钮可见 } 
if(n%4==2) {//每4帧(0.2秒,现实中的0.1秒)进行一次“频闪照相” 
t=n*0.025;//刷新计时器
duplicateMovieClip(b1,"b"+n,n);//复制一个小球的形象,加上n作为序号以区别
setProperty("b"+n,_x,112);
setProperty("b"+n,_y,b1._y);
//记录竖直方向的运动轨迹
duplicateMovieClip(b1,"c"+n,n-1); setProperty("c"+n,_x,b1._x); 
setProperty("c"+n,_y,b1._y);
//记录平抛小球的运动轨迹
duplicateMovieClip(b1,"d"+n,n+1);//n+1和n-1区别了不同的层次
setProperty("d"+n,_x,b1._x); 
setProperty("d"+n,_y,5); //记录水平方向的运动轨迹
this.lineStyle(1,0xFFFFFF,50);//定义线的粗细、颜色和透明度
this.moveTo (0,b1._y);
this.lineTo(b1._x,b1._y);
this.moveTo(b1._x,0); this.lineTo(b1._x,b1._y); 
//画出网格线 
}
n++;//计数器计数

“播放”按钮的脚本:

on (release) {gotoAndPlay(3);}

“倒带”按钮的脚本:

on (release) {
back._alpha=0//隐藏倒带按钮
this.clear();//清除网格
for (var i=2,i<=n,i+=4) {
removeMovieClip("b"+i);
removeMovieClip("c"+i); 
removeMovieClip("d"+i);//删除纪录的运动轨迹 
} 
xp=100;
yp=6; 
n=0;
t=0;
v=0;
setProperty("b1",_x,108);
setProperty("b1",_y,6); //初始化各变量与小球
setProperty("bplay",_alpha,100);//显示“播放”按钮 
} 

第三帧的脚本:

gotoAndPlay(2); 
setProperty("bplay",_alpha,0);

至于说明文字和装饰部件,请读者自己完成。

小结与拓展

通过这个例子,我们讲述了如何表现两种基本的运动和记录轨迹。这个例子还可以被改造成譬如飞机投弹、验证机械能守恒等实例,读者可以自己研究。

注:本系列中所有课件均使用Flash MX制作,所有按钮等素材均可在共享库中找到。

效果演示: http://shiba.hpe.cn/jiaoyanzu/WULI/soft/flash/%E5%B9%B3%E6%8A%9B.swf

本文示例源代码或素材下载

上一页  1 2 

Tags:Flash 物理课件 平抛

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接