分享
 
 
 

实现Flash动态背景

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

新建一个MC,命名为line_g,画一条竖线,坐标(0,0)。

注意:在这种需要控制坐标的flash中每个MC的初始坐标值都是很重要的,否则你很难弄清楚那个该死的MC到底跑到哪去了,即使是普通的flash,我们也最好制作得规范一些,这样看上去很清晰,检查起来也很方便。

再新建一个MC,命名为line_a,将line_g拖入(注意坐标),在line_g上捆绑下面的AS:

onClipEvent (load) {

speed = random(40)-20;//设置移动速度的初始值为-20至20

round = 20;

}

onClipEvent (enterFrame) {

if (_x < 0) {

_x = 450;

}

if (_x > 450) {

_x = 0;

}

//上面两个判断语句是为了避免MC超出播放范围,其中"450"为fla文件的宽度

if (i < round ) {

_x += speed;

i++;

//给它一定的运行时间来保持某一速度

//数值20为保持这个速度的周期,可以根据自己的需要设定

} else {

speed = random(40)-20;

i = 1;

//超过时间后赋予新的速度

}

}

回到场景,拖入几个line_a,(本例中是5个),将它们的x坐标统统设置为0,y坐标设置为fla文件的高度的一半,预览就得到了上面的效果。仔细观察可以看出它们会同时改变速度和方向。

我们还可以进一步修改,让每一个MC的速度变化周期各不同(上面的变化周期20是固定的),改为:

onClipEvent (load) {

speed = random(40)-20;//设置移动速度的初始值为-20至20

round = random(15)+5;

}

onClipEvent (enterFrame) {

if (_x < 0) {

_x = 450;

}

if (_x > 450) {

_x = 0;

}

//上面两个判断语句是为了避免MC超出播放范围,其中"450"为fla文件的宽度

if (i < round ) {

_x += speed;

i++;

//给它一定的运行时间来保持某一速度

//数值20为保持这个速度的周期,可以根据自己的需要设定

} else {

speed = random(40)-20;

round=random(15)+5;

i = 1;

//超过时间后赋予新的速度

}

}

这样变化就更神出鬼没了。如果你喜欢,还可以进一步随机调整场景中竖线的色彩和宽度,留给各位思考和试验。

二、闪动的方块

这个效果比较适合将其规则地排列在一角,或做成星状随机的出现在任何地方,这就看你自己的喜好了。制作中没有用到setProperty,而是通过随机数跳转到渐隐方块MC的某一帧来达到随机闪动的目的。

首先新建一个Graphic(图形符号)命名为changer_g,选择矩形工具,按住Shift键画一个大小适当的正方形(注意坐标),双击正方形的边缘,选中所有边线,Ctrl+X剪切下来(暂时储存在剪贴板)。

新建MC,命名为changer_m,拖入changer_g,在第20帧(或随意某帧)创建关键帧,将第20帧的changer_g的透明度改为0,创建motion动画。

新建MC,命名为changer_a,拖入changer_m(注意坐标),ctrl+V将已放置在剪贴板中很久的正方形边框"释放"出来,那个边框应该正好与changer_m重合,如果不是这样请调整。

选中changer_a,捆绑AS:

onClipEvent(enterFrame){

if(i < 5){ //你也可以根据需要修改这个变化周期

gotoAndStop ( random(20) ); //这个数字就是changer_m的总帧数

i++;

}else{

i=1;

}

}

然后在场景中拖入数个changer_a,按你的喜好布置好位置。效果就做好了。

三、随机跑动的箭头

这种效果是利用随机函数控制由左向右移动的MC的位置、大小和透明度来实现的。

首先,制作一个任意形状的图形符号(graphic)命名为basic_g,这里为了示意我们简单做了一个“>”符号,你可以仔细地绘制一个漂亮的箭头,效果会更好。

再新建一个电影剪辑(MovieClip)命名为basic_m,将刚才的图形符号basic_g拖入(坐标0,0)。在第20帧建立关键帧(这个帧数不是随便设置的,我将在后面的AS中进一步解释),向右水平拖动图形符号至合适的位置。从第1帧到第20帧创建motion动画,再将第5帧和第15帧创建为关键帧(选中后按F6键),选中第1帧和第20帧中的图形符号,将不透明度改为0%。这样我们就创建了一个渐显渐隐向右运动的MC。

再新建一个电影剪辑命名为basic_a,将刚才做好的basic_m拖入(坐标0,0),并将其inctance name(实例名)命名为obj,以便在AS对其进行控制,在第二帧创建内容帧(快捷键F5)。

在basic_a中新建一层,在第1帧中捆绑下面的AS,这是这个效果的核心部分。

if (i<=20) { //这里的数字20与前面提到的basic_m的帧数是相同的,或者你也可以设成帧数的整数倍,

由于下面的复制语句中的MC的深度是由 i 决定的,也就是说当第20个MC复制完成后,又将从1开始,

这样前面复制的深度为1的MC将被覆盖掉,而这时也正好过去了20帧,MC已经完成一个播放过程。

如果两数不相等就会出现MC还没播放完成就消失了或播放到第二次的某一段时MC消失的情况。

duplicateMovieClip("obj", i, i);

eval(i)._x = random(250); //设置MC的x坐标为0-250的随机数(上限约为fla文件宽度减去basic_m中basic_g走过的距离)

eval(i)._y = random(90); //设置MC的y坐标为0-90的随机数(上限略大于fla文件的高度)

tint = random(50)+50; //自定义变量tint来保存一个50-100的随机数

eval(i)._xscale = tint;

eval(i)._yscale = tint;

eval(i)._alpha = tint;

设置MC的x、y比例及透明度为相等的数值,让MC大小比例的变化与透明度的变化成正比,这样看上去有层次感。

i++;

} else {

i = 1;

}

将第2帧也设为关键帧(快捷键F6),捆绑下面的AS:

gotoAndPlay(1);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有