来看看:flash实例教程:三角函数正弦曲线-Flash实例教程
与gif和jpg不同,用flash制作出来的动化是矢量的,不管怎样放大、缩小,它还是清晰可见。用Flashmx2004制造三角函数图象天生器十分复杂,这里我们就用正弦曲线为例子,看一看在flash中怎样完成函数图象的。
先来剖析一下这个天生器的功效,在程序主界面的输出框中,输出响应的振幅、频次或初相值,然后按下“sin”按钮,会呈现坐标轴和一条静态天生的函数曲线,假如修正了响应的输出值,天生器又会在本来的图象基本上再天生一条分歧色彩函数曲线,如许更简单令人懂得分歧的值酿成的函数图象的变更,从而可以利用户更分明的懂得这个三角函数公式的各项的寄义。文章开端供应.fla文件供人人下载参考。
完效果果以下,人人能够依据下面的形貌下手尝尝课件的实践效果:
制造这个sin函数图象天生器的详细步骤以下:
第一步,制造元件
在这个天生器中共必要四个元件。两个按钮元件,一个是入手下手天生按钮“sin”,一个是扫除图象按钮“扫除”;两个影片剪辑,一个剪辑顶用铅笔工具在编纂区中心画一个点,由于在利用中要大批复制这个点,使点连成函数曲线用的,以是要巨细符合,另外一个影片剪辑中画上立体直角坐标系。
第二步,计划场景界面
场景上先安排三个“输出文本”框,这是用来输出分歧数值的。文本框右边用“静态文本”标识三个“输出文本”框的感化,从上至下顺次是,振幅,频次和初相,这三“输出文本”框的变量名至上而下顺次是“hight”、“freq”、“c”。然后把“sin”、“扫除”这两个按钮从库中拖动到符合地位。在右侧用“静态文本”写出“Y=<空格>sin(<空格>X+<空格>)”,然后在空格处安排三个“静态文本”框,用于显现所输出三角函数的详细公式,三个“静态文本”框的变量称号从左至右分离是“QQ”、“ww”、“ee”。这些就组成了这个图象天生器的次要界面。
第三步、到场代码
在这个天生器中,一共必要六层四帧,层数能够依据必要修正。
第一层是背景层。
第二层是坐标层,在该层的第二帧拔出关头帧,然后在该帧拖进“坐标”元件,放在场景外的地区中,该元件的“实例称号”叫做“zuobiao”。
第三层中将“点”元件拖出去,实例称号是“point1”;第四层是代码层,用于编写程序,这一层的四帧全体转换成关头帧。
剩下的两层用来安排按钮和上一步提到的各类文本框。
多分几层能够便利今后的修正,以是在做flash的时分应当注重这个细节,不要把一切的内容都塞到一个层里。
接上去入手下手写一点天生函数曲线的代码,注重我们要把一切的代码都写在“代码”层里。
第一帧代码:
k=20000; //设置部分变量的初始值
j=0;,
第二帧代码:
i=0;
draw=1;
j=j+1; //界说变量
duplicateMovieClip("point1","point",67778);
setProperty("point",_x,320);
setProperty("point",_y,240); //把场景表面的“点”剪辑“point1”复制成一个//名为“point”的剪辑置于场景中心
xpos=_root.point._x;
duplicateMovieClip("zuobiao","zuobiao1",1);
setProperty("zuobiao",_x,220);
setProperty("zuobiao",_y,240);//把场景表面的坐标剪辑“zuobiao”复制成一个//名为“zuobiao1”的剪辑置于场景中心
xpos=_root.point._x;
ypos=_root.point._y;
stop();
第三帧代码:
do{ //经由过程轮回,大批复制“point”,经由过程sin函数的束缚,//使这些点散布在公道曲线上构成正弦曲线
duplicateMovieClip("point","point"+i,k);
setProperty("point"+i,_x,i-22);
xx=getProperty("point"+i,_x);
setProperty("point"+i,_y,ypos-hight*Math.PI*10*func((xx/(Math.PI*10))*freq));
v=c%(2*Math.PI);
setProperty("point"+i,_x,i-(v*Math.PI*10)-196);
bodyColor=newColor("point"+i); //使每次按下“sin”按钮后天生的曲线色彩有所//区分,如许可使曲线分辩起来更明晰
r=(j%5)+1;
if(r==1){
bodyColor.setTransform({rb:255,bb:0,gb:0});
}
elseif(r==2){
bodyColor.setTransform({gb:255,rb:0,bb:0});
}
elseif(r==3){
bodyColor.setTransform({rb:255,gb:255,bb:0});
}elseif(r==4){
bodyColor.setTransform({gb:255,bb:255,rb:0});
}else{
bodyColor.setTransform({bb:255,rb:255,gb:255});
}
i=i+1;
k++;
draw=draw+1;
}while(draw<=20);
第四帧代码:
if(number(i)>=1060){//给轮回一个束缚前提,是程序在得当的时分中断
gotoAndPlay(2);
k-=2400;
}else{
draw=1;
gotoAndPlay(3);
}
“sin”按钮的代码:
on(release){ //按下按钮后主界面显现天生正弦曲线的详细公式,//并入手下手天生实行函数天生曲线。
QQ=hight;
ww=freq;
ee=c;
func=Math.sin;
gotoAndPlay(3);
}
“扫除”按钮的代码
on(release){ //扫除一切已呈现的曲线
for(n=0;n<=1060;n++)
{removeMovieClip("point"+n);
// k+=2400;
};
}
这个天生器程序在flashmx2004和flashmx两个版本中都可以一般运转。在编写时由于思索大概其实不非常周密,以是有些数值在其他的情况下必要修正。.fla文件下载
“swf”这是一个完整的影片档,无法被编辑。swf在发布时可以选择保护功能,如果没有选择,很容易被别人输入到他的原始档中使用。 而作为富媒体营销概念中的重要手段,很长一段时间,或者说,在未来,富媒体技术的不断完善,Flash动画广告的优势会越来越明显。 在Web页面上使用声音是可能的,但是在精确的时间播放声音几乎是不可能的。Flash通过把声音放入时间期限内解决了这个问题,因此你现在可以把声音连接到动画的特定部分或者某个用户交互过程。 对插件的批评之一是他们一般出现在称为Box的网页的一个预定的区域。虽然在某种情况下表现不错,但Box经常以罪魁祸首的面目出现。 都着重在优点方面,请尽量答的详细、深入一些,谢谢!拿了我全部的爱问分了已经 富媒体可应用于各种网络服务中,如网站设计、电子邮件、BANNER、BUTTON、弹出式广告、插播式广告等。 矢量图形有一些固有的限制。例如,照片由于包含太多的信息而不能使用矢量图形这 种形式。但是对于由实体颜色形状构成的图像,Flash很管用。 不过,要说国内在FLASH动画领域做的比较出色的,公认的是广州形动数码科技。
页:
[1]