邮件订阅
5ucms插件,用flash做随心控制的火焰(2)
作者: 来源: 日期:2017/1/11 16:32:17 浏览量:18(滞后) 人气:LOADING...(实时) 【

5ucms插件,用flash做随心控制的火焰(2)
下面我们在图层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也能做出非常漂亮的效果的。

点击:下载源代码

选择5ucms.org 选择未来

本站推荐: 5ucms模板下载 5ucms插件下载 仿站联系Q3876307       [复制给好友] [打印] [关闭] [返回] [顶部]
上一篇:5ucms帮助用flash记录鼠标的运动过程
下一篇:5ucms教程,《大话李白》创作全过程
本站声明:本网站所载文章等内容,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权及其它问题,请在30日内与本网联系(Email:3876307#qq.com),我们将在第一时间删除内容。若原创内容转载请注明出处。
5ucms插件,用flash做随心控制的火焰(2)的关键词:
评论信息
相关分类
本周热门
本月热门
关于我们 - 版权/免责 申明 - 建站服务 - 网站地图 - 稿件投递 - 联系我们 - 5ucms
Copyright © 2008-2015 www.5ucms.org