您的位置:首页网页设计Flash → 用flash做随心控制的火焰(2)

用flash做随心控制的火焰(2)

时间:2004/11/7 2:23:00来源:本站整理作者:蓝点我要评论(0)


            
             
              
             
            

               
               

            



            

下面我们在图层action中设置相应的action,以便对动画片进行控制,首先在第一桢设置如下as:

if (Number(/:flameTop) == 1) {

//如果mc名字为1

gotoAndPlay("a");

//跳转到祯a

} else if (Number(/:flameTop) == 2) {

//如果mc名字为2

gotoAndPlay("b");

//跳转到祯b

} else if (Number(/:flameTop) == 3) {

//如果mc名字为3

gotoAndPlay("c");

//跳转到祯c

} else if (Number(/:flameTop) == 4) {

//如果mc名字为4

gotoAndPlay("d");

//跳转到祯d

} else if (Number(/:flameTop) == 5) {

//如果mc名字为5

gotoAndPlay("e");

//跳转到祯e

}


分别在第10桢,第20祯,第30祯,第40祯,第50祯设置如下as:

tellTarget ("flameBottom") {

gotoAndStop(/:flameBottom);

}


分别在第19桢,第29祯,第39祯,第49祯,第60祯设置as为stop():

下面新建一个button 组件drag_button,在组件的hit桢插入一个关键桢,并画一个正方形,其它祯不放任何对象,我们把组件drag_button用做隐形按钮,如图14所示:


图14


接着新建mc命名为drag_MC,将组件drag_button拖到编辑区中,然后在插入两个关键桢,再第一关键祯中加as: looper = 1;// 设置变量并赋初值为1

在第二个关键桢中加as:

oldX = newX;

oldY = newY;

//定义两个表示左边的变量

newX = getProperty("", _x);

//取得对象的x坐标值

newY = getProperty("", _y);

//取得对象的y坐标值

Xspeed = oldX-newX;

//给变量赋值为新旧x 坐标的差

Yspeed = oldY-newY;

//给变量赋值为新旧y 坐标的差

if (Number(Xspeed)<0) {

//如果火焰摆动到最左方

Xspeed = Xspeed*-1;

//开始向右摆动

}

if (Number(Yspeed)<0) {

//如果火焰摆动到最上方

Yspeed = Yspeed*-1;

//开始向下摆动

}

/:totSpeed = Number(Xspeed)+Number(Yspeed);

if (Number(/:totSpeed)<10) {

/:totSpeed = 10;

//设置最小速度为10

} else if (Number(/:totSpeed)>20) {

/:totSpeed = 20;

//设置最大速度为20

}

第三个关键祯中加as:

if (Number(looper)<1000) {

//如果循环次数不到1000的话

duplicateMovieClip("/smoke_0", "smoke_" add looper, looper);

//不断的复制smoke_0对象

setProperty("/smoke_" add looper, _x, getProperty("", _x));

//设置复制出的smoke_0对象的x坐标

setProperty("/smoke_" add looper, _y, getProperty("", _y));

//设置复制出的smoke_0对象的x坐标

set("/smoke_" add looper:myDepth, looper);

//设置复制出的smoke_0对象的深度

looper = Number(looper)+1;

//循环次数加一

} else {

looper = 1;

}

gotoAndPlay(2);

//循环结束后跳转到第2祯

最后我们需要建立一个空的mc命名为smoke_0,里面不放置任何对象,只写一些控制用的as,设立三个关键桢,第一个关键祯加as:

orgY = getProperty("", _y);

//取的对象的y坐标

myXstep = /:windSpeed/(Number(-1)+Number(random(3)));

myYstep = -10-random(/:smoothness);

mySCALEstep = 100;

//分别给三个变量赋值

第二关键祯加如下as:

setProperty("", _x, Number(getProperty("", _x))+Number(myXstep));

//设置对象的x坐标

setProperty("", _y, Number(getProperty("", _y))+Number(myYstep));

//设置对象的y坐标

setProperty("", _alpha, mySCALEstep);

//设置对象的透明度

mySCALEstep = mySCALEstep-/:totSpeed;

if (Number(mySCALEstep)<0) {

removeMovieClip("");

}


第三个关键祯加as: gotoAndPlay(2);


最后回到主场景中,将组件flame_graphic和组件smoke_0放置到主场景的合适位置,如图15所式:



图15

  这样,一个可以随意控制的火焰效果就做好了,虽然其中用到了许多as, 但是都是一些基本as的结合应用,只要你开阔自己的思路,用简单的as也能做出非常漂亮的效果的。

  点击:下载源代码

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 Flash CS4基础入门 如何在Flash中打开一个定制的浏览器新窗口?学习ActionScript 3.0的6个好处几个小技巧精简Flash文件体积在Flash动画中添加“加为收藏”和“设为首页

人气排行 Flash游戏制作--小熊拼图用Flash实现几种镜头效果Flash制作动画知识:遮罩Flash如何做鼠标指针样式Flash制作环形文字Flash制作声情并茂的电子相册实例讲解flashMTV制作全过程(3)鼠标效果系列教程:游动的鱼