“锡纸花甲米线”通过精心收集,向本站投稿了8篇Flash时光隧道效果制作,下面是小编为大家整理后的Flash时光隧道效果制作,仅供参考,喜欢可以收藏与分享哟!

篇1:Flash时光隧道效果制作
这个效果原理非常简单,我们向大家介绍了一个在x轴,y轴复制随即旋转的效果,那么这个效果其实是x轴y轴缩放比例的复制与随机分布。
效果演示:
具体步骤
1, 运行flash mx。文档属性设置为300*200像素,背景黑色。
2, 新建一个影片剪辑1,在编辑区里面绘制一个矩形。使用渐变填充,把右侧滑块的透明度设置为0,进行填充。利用鼠标工具把举行的左侧拖拽成圆角。设置举行的旋转角度以及距离影片剪辑中心点的位置。如图1所示。
3, 新建一个影片剪辑2,把影片剪辑1拖放到编辑区。在第7帧,第14帧插入关键帧,并移动影片剪辑1的运动位置为斜上方运动。设置第1帧,第7帧,第14帧的影片剪辑1的透明度分别为27%,100%和0%。使它逐渐消失。4, 返回到主场景,把影片剪辑2拖放到场景中,在属性面板中设置他的实例名称为mc,并调整他的大小。如图3所示5, f5键延长图层1至第3帧。新建一个图层,分别在第1帧,第2帧和第3帧插入空白关键帧。如图4所示。
6, 选择图层2的第1帧,打开as面板,添加as语句:n=1; //设置一个变量,并给他初始化赋值为1,
7, 在第2帧中添加as语句:
if (n<=50) {
//如果n小于等于50,则执行下面的语句。
duplicateMovieClip(mc, “mc”+n, n); //复制名称为mc的影片剪辑,并把它命名为”mc”+n,复制到对应层中。
setProperty(“mc”+n, _xscale, random(60)+20);
//改变“mc”+n的大小,random(60)+20是取随机变量20~80
setProperty(“mc”+n, _yscale, random(60)+20);
setProperty(“mc”+n, _rotation, random(360));
//改变“m”+n的角度,random(360)就是随机取0到360度
_root.mc.visible=0; //设置原mc不可见。
n++;//N累加
}
8, 第3帧添加as语句:gotoAndPlay(2);//循环播放第二帧
篇2:Flash制作颜色渐变效果
渐变
先看看效果了:点击这里下载源文件
AS代码:
for (n=0; n<=200; n++) {
attachMovie(“ball”, “ball”+n, n);
this[“ball”+n]._x = 100+n;
y = Math.sin(n*Math.PI/100)*50+150;
this[“ball”+n]._y = y;
myclor = new Color(this[“ball”+n]);
myclor.setRGB(255 << 16 | Math.floor(255*(y-100)/100) << 8 | 0);
}
步骤:
1、插入一movieclip,命名为ball,
Flash制作颜色渐变效果
,
在MC中用椭圆工具画一个正圆。
2、在库中,右键选择链接,使MC的标志符为ball。
3、在场景中的第一桢中加入如上的AS。
原理就是通过改变y轴坐标来改变RGB中的G的成分。当然也可以改变其他成分。
篇3:FLASH制作爆炸效果动画
效果演示:
点击这里下载源文件
制作步骤:
很久以前看到了此篇教程,但是一直保存了其源代码,在网上查了半天没查到该教程,所以只有自己重新给大家做一个教程了!
首先,我们要打开FlashMX ,新建一场景动画,CTRL+J打开文档属性面板,设背景为黑色、帧速为24~48(随你高兴了,自己试试不同的帧速,只要自己觉得满意就行。)
1、按住Shift键在主场景中画一无边框正圆(大小在50×50象素左右),打开混色器面板在填充样式中选中放射性填充。将左右两个色块都设为白色,并将其外(右)侧的色块Alpha值(透明度)设为0。
2、选中这个圆,按F8键转换为图形符号,命名为“圆”。
3、Ctrl+F8新建一电影剪辑符号,命名为“运动的圆”。并将刚才做好的图符拖入进来。打开对齐面板使其中心对齐。
4、在第3帧按F6键插入一关键帧,并将“圆”向上(向左向右向下都行,随你高兴)移动一块(大约半个身位),选中圆,在属性面板中的“颜色”栏中选择高级选项,点击右边“设置”按钮进入高级设置选项。设置如下:这时,“圆”符号成黄色。
5、在第5帧按F6键插入一关键帧,将“圆”再次向上移动一块(约3/4个身位),并用第4步的方法将其改为红色(将G)与B)值都设为-255)。
6、再在第11帧按F6键插入一关键帧,将“圆”再次向上移动一块(约一个身位)并改为灰色。
7、第13帧处按F6键插入一关键帧,将“圆”再次向上移动一块(约一个半至两个身位)并将其Alpha属性设为0(即完全透明)。
8、选中这一层,为这层设置运动动画,
9、回到主场景中,把“运动的圆”拖入进来,把层的名字改为“ball”,选中圆在属性面板中将其命名为“ball”,为以后的编程做准备。
10、在主场景中新建一层,命名为“Action”,用来写代码。
i=1
while(i<=80){
duplicateMovieClip(“ball”,“ball”+i,i);
setProperty(“ball”+i,_rotation,random(360));
i++
}
_root.ball._visible=0
上面的代码的意思是将“ball”复制80份,并将其随机旋转一个角度,这样“ball”就能向四面八方运动了。最后将原“ball”隐藏。
11、在“ball”电影符号中加入Action:
onClipEvent(load){
this._x+=random(50)
this._y+=random(50)
this._yscale=random(50)+50;
}
其意义为:电影被调入时,在X、Y轴的坐标随机增加(1~50)个象素,并将其在Y轴的比例随机改变50%左右。
12、Ctrl+回车测试一下,怎么样,Cool不Cool。
13、爆炸效果到这就做好了,但如果我们想把这种效果应用到自己的Flash动画中还要在“ball”电影符号中的最后一帧中加入如下语句:
removeMovieClip(this);
_root.gotoAndPlay(1);
否则的话,爆炸效果会一直持续,只到你关闭Flash播放器,这可不是我们要的,那句程序就是用来卸载被复制的影片的。
篇4:Flash制作闪电效果动画
如何利用as制作闪电效果?
解决思路(必须要有)
通过复制影片剪辑x轴,y轴坐标,形成闪电的形状,然后利用random随机设置闪电的位置。
具体步骤(必须要有)
1, 运行flash mx,设置文档属性,背景为黑色。
2, 新建一个影片剪辑,命名为“guo”。进入编辑区绘制一个渐变填充的矩形。矩形两侧的渐变填充为透明,这样可以是黑色的天空更好的融合。如图1所示。
图1: 绘制影片剪辑“guo”
3, 新建名称为“guoy”的影片剪辑,把“guo”放置在其中。制作闪烁效果。闪烁效果无非就是透明度高低和亮度的高低,我们采用透明度高低的方法制作。如图2所示。
图2:制作闪烁效果
4, 光闪电闪了,天空是不是还要闪那?对,同样,制作一白色矩形,将塔拉到主场景中,同第二步一样,调节其渐变,要注意的是一定要配合影片剪辑guoy中的闪烁,guoy透明度一定要和天空闪烁透明度想符合。我们将其第五帧透明度设为20%。其它如图3所示。
图3:天空闪烁效果
5, 主场景中新建一个图层,从库中把“guoy”拖放到场景上方,并延长至第11帧。选中影片剪辑“guoy”,在属性面板中命名为“guoy”。如图4所示。
图4:命名影片剪辑
6, 先建一个图层as。给第1帧加上如下代码:
i = 1;//初始化变量下面有用。
setProperty(_root.guoy, _visible, false);//设置原始mc不可见。
j = 100+Number(random(300));//初始化变量,下面有用,
Max = random(350);//guoy罗列的最大量
Dis_x = random(3)-1;//两个罗列在一起的guoy在x方向上相错开。
在第2帧插入空白关键帧,并添加代码:
while (Number(i)
{
i += 1;//i自加1
_root.attachMovie(“guoy”, “guoy” add i, i);//连接guoy到guoy+i上 ,层级为i。
setProperty(“guoy” add i, _y, i);//设置guoy+i的mc的y坐标为i,两个复制的guoyY坐标相差1便于连接。
Distans_x = Number(random(5)-2)+Number(Dis_x);//两个guoy之间相差的Y坐标
j += Number(Distans_x);//j自加
setProperty(“guoy” add i, _x, j);//设置属性,不用说了吧
setProperty(“guoy” add i, _xscale, Max-i);//使复制出的guoyX方向上长度随i增大而减小。
}
while (Number(i)<350) {
i = Number(i)+1;
removeMovieClip(“guoy” add i);//当复制出的guoy小于350时,及时清除
以前复制出的guoy以免,这次闪电出现上次余光。
}
7,保存,测试。
点击这里下载源文件
篇5:Flash制作电影字幕显示效果
本例将要实现的是星球大战开场时的那种字幕显示效果,而实时创建影片剪辑,并使用随机函数和影片剪辑的Drawing Method(绘画方法)绘制星空背景则是本节的重点。主要的影片结构如下图所示。
图1 影片结构
从上面这个图片中可以看到,这个例子的结构还是比较简单的。整个影片除去一个黑色背景之外只需要两个图层——用来放置要显示的字幕的第1层和用来“铺星星”作背景的第2层。因此,整个制作过程可以大致划分为字幕的制作与背景的制作两大部分。
字幕的制作相对比较简单,所以就不多说了,这里简要提一下“星空”背景的制作原理。在这个例子中,用到的星空背景将不是用绘图工具一点点画出来的静态背景,而是使用ActionScript动态生成的动态背景。因为每次运行时,对应 N颗星星,程序会随机产生N组横坐标、纵坐标值。再加上每颗星星的大小,亮度也是随机的,所以每次铺出来的背景绝对是不一样的。
在制作过程中主要使用了Free Transform工具的部分功能。并利用Math.random函数生指定范围内的随机数字的公式,实时创建影片剪辑以及部分绘画方法的使用。最终播放效果如图2所示,要实现这一效果,具体制作过程如下
图2 星球大战开场文字最终效果图
一.制作字幕效果
1.新建一个电影,在属性面板中设置其尺寸为550pxX400px,选择一种颜色(本例为#000000)作为背景色。
2.双击时间线上的“图层1”,并将其改为“caption”,主要用于旋置文字的图形元件,在工具箱中选取文本工具,并在属性面板中设置文字的颜色、字体和大小,本例设置文本的颜色为#CCCC00,大小为40,字体为Times New Roman,当然也可以设置为其它属性。设定好后,点击舞台并写上字幕文字,如图3所示。
图3 在舞台上输入的文字
3.接下来该是给文字添加一点透视效果的时候了。选中写好的字幕文字,按两下Ctrl+B将文字分离成为色块。这是因为下一步的变形要求其对象必须是色块。从工具箱中选取任意变形工具 ,然后从选项面板中的扭曲按钮 。将分离后的文本能过调整四个角上的手柄,使整个变形框成一梯形,效果如图4所示。
图4 调整手柄
4.变形完毕后选择“插入/转换为元件”菜单命令,将变形后的字幕转换为图形元件,并为其命名为“caption”
选中字幕后选择按“Ctrl+T”,打开Transfrom(变形)面板。调整缩放比例的数值,使第一行字的大小与未进行透视变形前差不多,如图5所示。
图5 变形面板
5.将字幕元件拖动到舞台下方边缘之外,如图6所示:
图6 拖动字幕
6.点击时间线上的第200帧,按F6插入一个关键帧。选中第200帧上的字幕元件,使用Transform(变形)面板将其缩小后将其拖到舞台中上方,如图7所示。
图7 缩小字幕元件
7.右击第1帧,在弹出的快捷菜单上选择“创建补间动画”,将第1到第200帧转化为运动中间帧动画。按Enter键看动画的效果的时候你会发现,整个字幕运动过程的前半部分相对后面结束部分的速度要慢一些。所以,需要对运动的速度进行一些调整。选中第1帧,在属性面板中将其中的简易选项设为某个正值,如图8示。如此,字幕运动的后半部分就会放慢速度了。
图8 属性面板
二.制作背景
1.新建一图层,并为其命名为“stars”,然后将这个图层拖动到字幕层“caption”的下面,打开Actions(动作)面板。选中stars图层的第一帧后在Actions面板中输入以下代码(注释号“//”后的内容可不输)
iMax = 400;//星星总数。sClipName = “starbg”;//背景影片剪辑名字iStarSizeMax = 2;//星星大小(最大值)iStarSizeMin = 1;//星星大小(最小值)iStarAlphaMax = 100;//星星透明度(最大值)iStarAlphaMin = 80;//星星透明度(最小值)this.createEmptyMovieClip(sClipName, 0);//创建一个空白的背景影片剪辑。for (i=1; i<=iMax; i++) {iStarX = Stage.width*Math.random();//星星的X轴坐标iStarY = Stage.height*Math.random();//星星的Y轴坐标iStarSize = (iStarSizeMax-iStarSizeMin)*Math.random()+iStarSizeMin;//星星的大小iStarAlpha = (iStarAlphaMax-iStarAlphaMin)*Math.random()+iStarAlphaMin;//星星的透明度iStarColor = 0xffffff;//星星的颜色with (this[sClipName]) {lineStyle(iStarSize, iStarColor, iStarAlpha);//设定画星星画笔的大小,颜色,透明度moveTo(iStarX-1, iStarY);//将画笔移动到要绘制星星的位置lineTo(iStarX, iStarY);//绘制一条从点(iStarX-1,iStarY)到点(iStarX,iStarY)之间的,长度为一个像素的直线}}程序详解:
第1行到第12行是一些简单的变量声明,
其中,变量iMax的值就是背景上将出现的星星的个数。sClipName是用来绘制星空背景的影片剪辑(也就是图1-93的表识为2的那一层)的名字。第5到第8行的两个变量对应的是星星的最大尺寸和最小尺寸。iStarSizeMax最好不要太大,因为这个值越大效果越差。第9到第12行所确定的是星星透明度的最大值与最小值,而这个透明度反映出来的效果就是星星的亮度。
第13行的createEmptyMovieClip方法是Flash MX中的新东西。具体语法是:
myMovieClip.createEmptyMovieClip (instanceName, depth)其作用是在myMovieClip中创建一个名为instanceName的空白影片剪辑(空白=什么都没有),它在myMovieClip中的深度为depth。这也就是说,要引用这个新影片剪辑的话,可以使用myMovieClip.instanceName或myMovieClip[instanceName]这两种语法。在本例中,myMovieClip参数的位置上写的是this对象,即当前影片剪辑。所以这第13行程序的意思就是,在当前影片剪辑中创建一个名字为sClipName(这个变量的值是“starbg”)的空白影片剪辑,其放置的深度为1。
第15行到最后是个for循环,它是绘制星星的主要程序段。第16到33行是循环的主体,其中,第16到23行使用同一条随机数公式来随机设定每颗星星的大小、透明度,为下面的绘制过程作准备。这条用来获得给定范围内随机数的公式是:(最大值 — 最小值)× 随机数函数 + 最小值。注意,这条公式中所使用的随机数函数必须是返回0和1之间(包括0)随机数的随机函数,Flash MX中的随机函数Math.random()就符合这个要求。
再回头来看看程序。这第16与18行的程序似乎跟上面的公式不一样嘛!乍看之下,的确,这两行程序似乎是不一样。但是,如果当上面那条公式中的最小值等于0时,公式会变形为:最大值 × 随机数函数。这样就和16、18行很符合了。iStarX和iStarY变量分别代表的是星星在舞台上横坐标和纵坐标,所以这里分别用舞台的宽(Stage.width)和高(Stage.height)乘以随机函数来得到舞台之内的某组横、纵坐标值。而iStarSize与iStarAlpha分别表示了星星的大小和透明度,这两条使用的就是标准的随机数公式了。iStarColor用以表示星星的颜色(其实也是可以改用随机公式来确定的),这里使用0xffffff,即纯白色。
第26到33行是真正动笔绘制的时候。首先,第26行用了一个with语句,这条语句始现于Flash 5,具体语法为:
with (object) {statement(s);}使用这条语句可以让你在两个花括号间直接设置对象object的属性,而不需要在每个属性前面再加上object的引用。例如,要设置影片剪辑mc的_x属性,可以写成:
mc._x=100;而使用with语句就可以写成:
with (mc) {_x=100;}使用with语句可以将某一对象的属性设定或方法调用都集中在一起,从而使程序的实现更加结构化,清晰化。当然,象上面例子这种,只设置单个或少数属性的情况下,with语句的好处是比较难体现的。
程序中with语句的object参数是this[sClipName],即第13行程序创建的新影片剪辑starbg。所以,下面花括号中的操作都是针对starbg进行的。第27到32行用的是Flash MX中新添功能Drawing Method(绘图方法)中的三条——lineStyle、moveTo和lineTo方法。
lineStyle具体语法如下:
myMovieClip.lineStyle. ([thickness[,rgb[,alpha]]])myMovieClip是要进行设置的影片剪辑的名字。参数thickness,rgb,alpha分别表示线的粗度,16进制形式的颜色值和透明度。如果什么参数也不给的话,那么屏幕将画不出任何线。
moveTo具体语法如下:
myMovieClip.moveTo (x,y)将画笔移动到坐标为(x,y)的点上。这条语句只负责移动画笔并不实际进行任何的绘图操作。
lineTo具体语法如下:
myMovieClip.lineTo (x,y)在画笔当前所在位置和参数所指定的坐标(x,y)之间画一条直线。例如,当前画笔在坐标为(0,0)的点上,执行一条lineTo(10,10)之后,就会在(0,0)到(10,10)之间出现一条直线。注意,在调用这个方法之前一定要先调用lineStyle方法设置好线的属性,否则你将画不出任何东西。
2.到了这里,整个例子可以说是基本上完成了。但为了能让字幕有一点点消失在黑色的星空之中的效果,再给它添加个“帘子”。新建一图层,并为其命名为“shade”,按Shift+F9键,打开“混色器”面板。将填充样式改为“线型渐变”后指定两个黑色指针,并将其中一个的Alpha值设定为0%,即完全透明,如图9所示。
图9 设置“混色器”面板
3.从工具箱中选取“矩形”工具。在属性面板中设定边框色为无色,填充色为上面设定的线性渐变。点击第200帧,在shade上画一个渐变矩形色块,大小应比下面caption层上字幕的尺寸略大,从工具箱中选取“填充变形”工具 。然后点击渐变色块,调整手柄将渐变的方向改为透明部分朝下,调整渐变方向,效果如图如图10所示。
图10 调整渐变方向
4.保存影片,按“Ctrl+Enter”预览就可以看到漂亮的“星球大战”开场文字。
篇6:Flash教程:制作无限回廊效果
准备6个100 × 100的图片
1、新建Flash 文件,设置属性: 500 × 200 ,背景黑色,
2、从菜单选择文件->导入->导入到舞台。选择你要使用的图片。图1:
3、垂直地对舞台的中心放置图片。平均、水平地隔开他们。使用对齐面板。图2、图3: 4、将图片转换成影片剪辑:单击舞台上最左边的图片转换成影片剪辑。命名为”My Image 1 ″而且设定注册点为居左中位置。5、重复这个步骤,将其它的图片全部转换为影片剪辑。命名为 “ My Image 2 ″ ”,My Image 3 ″ ... 依此类推。图4:
现在你的库如图5: 6、双击”My Image 1″影片剪辑,进入My Image 1的编辑状态,添加 as图层。图6: 选中第1帧,在动作面板中输入代码://Import TweenMax
import gs.*;
//Set the initial state for this movie clip
TweenMax.to(this, 0.5, {alpha: 0.4});
//Add mouse over & out event listeners
this.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
this.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
//This function is called when mouse is over this movie clip
function mouseOverHandler(e:Event):void {
//Tween the alpha
TweenMax.to(this, 0.5, {alpha: 1});
}
//This function is called when mouse is out of this movie clip
function mouseOutHandler(e:Event):void {
//Tween the alpha
TweenMax.to(this, 0.5, {alpha: 0.4});
}
重复这个步骤到其它的影片剪辑。(当移动鼠标在一个图片上的时候,添加一个透明度效果。可以修改成放大或其它效果,自行的试验一下。)
7、前期工作已全部完成,现在开始创建无限循环,
在主时间轴,选择所有的六个影片剪辑。将他们转换成影片剪辑,命名 “ Gallery Images ”。图7:
8、为了使图片有无限循环的效果,我们需要舞台上的 “ Gallery Images ” 影片剪辑的另一个实例。因此在舞台上复制(选中Gallery Images,按住Ctrl键拖拽)另外的一个 “ Gallery Images ” 影片剪辑,放置在第一个实例后面,使他们水平地排列。图8: 9、选中舞台上的 “ Gallery Images ” 影片剪辑的两个实例。将他们转换成影片剪辑,命名 “ Infinite Gallery ” 设定注册点为左居中。图9: 10、在属性面板填入实例名字 “ infiniteGallery” 。11、添加as层,打开动作面板输入代码:
//Import TweenMax
import gs.*;
//Save the horizontal center
var centerX:Number = stage.stageWidth / 2;
//Save the width of the whole gallery
var galleryWidth:Number = infiniteGallery.width;
//Speed of the movement (calculated by the mouse position in the moveGallery() function)
var speed:Number = 0;
//Add an ENTER_FRAME. listener for the animation
addEventListener(Event.ENTER_FRAME, moveGallery);
function moveGallery(e:Event):void {
//Calculate the new speed
speed = -(0.05 * (mouseX - centerX));
//Update the x coordinate
infiniteGallery.x+=speed;
//Check if we are too far on the right (no more stuff on the left edge)
if (infiniteGallery.x>0) {
//Update the gallery’s coordinates
infiniteGallery.x= (-galleryWidth/2);
}
//Check if we are too far on the left (no more stuff on the right edge)
if (infiniteGallery.x<(-galleryWidth/2)) {
//Update the gallery’s coordinates
infiniteGallery.x=0;
}
}
这一段代码负责无限循环。
12、全部完工,测试影片。
更多内容进入:
精品学习网IT教育频道
篇7:精彩Flash制作风吹草动效果动画
首先看一下效果:
点击这里下载源文件
首先用铅笔工具画出一根草的大概形状
选种 用曲线工具把他调平滑
上色
然后把线框擦除,接下来做形状动画 ,在第十针插入一个关键针 把草调整一下形状和位置 但是根部不要变动 然后做形状补间,再在第20针插入关键针 把草的形状返回为第一针的样子,把刚才的所有动作放到一个MC里去,然后依照类似的样子 画几个不同形状的草叶片 最后新建一个MC“草1”把草们分别复制 建图层然后 排列 形成一组草的形状,
把“草1”拖到主场景 类似的再画几束草 把他们排好 还可以做些花朵做点缀
最后加上背景 处理一下效果
接下来再介绍一种
先画一个深\绿色的和背景一样长的巨型,然后用橡皮擦处理一下形成边缘锯齿效果
接下来在刚才深绿的草下面新建一个层,画一个中绿色的和背景一样长的巨型
再新建一个层 画一个淡绿黄色的和背景一样长的巨型,很随意的修改锯齿
然后新建一个层 用铅笔画上一些小草的肌理效果
做四个这样不同的影片剪辑
效果演示如下:
点击这里下载源文件
篇8:Flash制作实现"雪花飘"效果
先看效果:
点击这里下载源文件
制作步骤:
首先,准备原件.总共有3个原件
原件1:雪花的形状.也就是随便画一个白色的圆代替了.
原件2:雪花的动作.这个MC里存放了雪花飘落的动作.用引导线来做.雪花怎么飘,就看你怎么画引导线了.
原件3:雪花的生成器.这个MC控制着雪花的生成.
从原件2的结构开始说.请看下面的截图:
可以看出.雪花“飘”的这个动作是用引导线的方式来实现.因为不能只是做一种运动轨迹的飘移方式,因为那看起来太死板,所以,我们多设几根引导线,再表示多几种不一样的雪花“飘”法.
有脚本的桢就是第1桢.第4桢,和每一个引导线结束的那一桢.
第1桢:
timer=random(50)
gotoandplay(3)
第4桢:
if(timer==0)
{var mov;
mov=“mov”add random(2)
gotoandplay(mov)
return
}
timer--
gotoandplay(3)
通过这两桢的脚本可以看出.
这里的TIMER变量是一个时间缓冲变量.也就是说,因为这变量的存在,雪花不会一出来就开始飘,而是等这个变量的值为0的时候才会通过引导线来表现飘的动作.
第4桢中的判定,正是判断TIMER变量值是不是为0了,如果是,就随机跳到后面的几个锚上.即跳到某一个“飘”动作的开始处.
后面那两句就是让TIMER不断减少.然后返回上一桢.再继续播放,再减少....当然,这也是在TIMER不为0的情况下执行.
“飘”动作结束桢:
gotoandstop(2)
即返回第一桢,继续缓冲.准备下一次“飘”动作的进行.
然后是原件3:
原件3要做的事便是加载刚刚那个有“飘”动作的雪花.第一桢:
snow_num=120//定义雪花的数量
ran_scale=150//定义雪花的尺寸随机量
angle=30//定义雪花的随机旋转量
for(n=1;n<=snow_num;n++)//根据雪花数量,执行“生成雪花”的自定义函数
{CreateSnow(“snow”+n,n)
}
function CreateSnow(sn,n){
var scale
attachMovie(“snow”,sn,n)//从库里面加载雪花,也就是原件2
this[sn]._x=random(600)-50//定义它的一些属性
this[sn]._y=-10
scale=50+random(ran_scale)
this[sn]._xscale=scale
this[sn]._yscale=scale
this[sn]._rotation=-random(angle)
this[sn]._alpha=50+random(80)
}
第5桢:
var sn
for (n=1;n<=snow_num;n++)
{
sn=“snow”+n
if(getProperty(sn,_currentframe)==2){
removeMovieClip(sn)
CreateSnow(sn,n)}}
gotoandplay(2)
这一桢里要做的事呢,就是判定那些雪花是不是移动到第2桢了.由原件2里面的代码可以看出.当雪花飘完了之后,会停在第2桢.那么,在这里,当雪花停在了第2桢,的时候,我们先删除它,再用“创建雪花”的自定义函数重新创建它.这一过程实际上是在随机地改变雪花下一次的位置,角度,大小等属性,以实现一种随机,生动的效果.
最后,再把这个原件3放到主场景中,测试影片即可...
实际上,原件3就是整个下雪的场景了.如果你把原件3 的桢直接放到主场景上,那也就是让主场景“下雪”了.






