| 接着新建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);
|