|
| |
精品推荐 |
 |
|
| |
|
|
|
|
flash打造飘动的汽泡
|
日期:2008年7月16日 作者: 查看:[大字体
中字体 小字体]
|
·Flash中百叶窗效果的实现 ·flash中MP3导入及同步歌词的方法 ·最新QQ空间flash导航flash地址 ·最新QQ空间flash代码 ·像Flash那样动感十足!制作PPT按钮跟我来 ·FLASH 8.0制作燃烧的香烟 ·国外优秀Flash网站设计欣赏 ·FLASH移动放大的图片效果 ·Flash 翻书效果研究 ·好书精彩摘录(3):Flash卡通角色设计 先看一下效果:
工具:flash2004 思路:
1.水泡的_x是左右随机晃动的,可以设定一个变量,让这个变量在某段x坐标内随机取值,取值之后,让_x趋向变量移动,移动到变量点时,变量再重新取值,_x再趋向变量移动。_x永远向变量方向移动。 2.用attachMovie来复制泡泡,用unloadMovie实现卸载泡泡。 3.以帧来实现循环,以便产生多个泡泡。 做法:
第一步: 新建文件,长宽为300×200,背景白色,frame rate 设为60,能让泡泡移动得快一点流畅一些。
第二步:画泡泡,保存为mc,命名为pao。
第三步:再新建一个mc,命名为pp_mc,并设定输出连接名为pp,以便attachmovie调用。在mc的场景中拖入pao,坐标以需要泡泡出现的大体范围为准,我设的是x=98,y=10,pp_mc需要实现泡泡的随机移动,所以,选定pao,打开action面板。代码如下:
onClipEvent (load) { a = random(140)+10; //当mc载入时,预设a变量。a变量是控制泡泡运动方向的,对a进行10到150之间的随机取值 } onClipEvent (enterFrame) { if (this._x>a) { this._x = int(this._x)-1; this._y -= 1; this._alpha -= 0.01; if (this._alpha == 0) { this.unloadMovie(); } } else if (this._xthis._x = int(this._x)+1; this._y -= 1; this._alpha -= 0.01; if (this._alpha == 0) { this.unloadMovie(); //当透明度为0时,卸载泡泡 } //以上两个执行语句中,第一句为this._x取整这一点很关键,因为如果不小心泡泡的x坐标不是整数,到最接近a的那一步时,x总是无法等于a,_x-1就小于a,会执行xa的语句,这也是我刚做时泡泡总是运行一次就直线上升的原因。
} else { a = random(140)+10; } }//x=a时,对a重新取值
第四步:回到场景,在第一帧上写如下代码
j=0; //设定控制循环以便产生多个泡泡的变量 j 第五步:在第二祯写如下代码
_root.attachMovie("pp", "pp"+j, j); //从库里复制泡泡 _root["pp"+j]._x = random(140)+10; //为泡泡设定x坐标值,这里是10到150之间的随机值 _root["pp"+j]._y = 200; //设定y坐标值 _root["pp"+j]._xscale = random(70)+30; //30%到100%的随机x缩放值_root["pp"+j]._yscale = _root["pp"+j]._xscale; //30%到100%的随机y缩放值 第六步:第三祯代码如下
if (j<10) { //这个判断为j赋最大值 j = j+1; } else { j = 0; //当j=10时,j返回0值 } gotoAndPlay(2); 在最初做这个泡泡时,我没有为j设定最大值,让j不断累加,导致swf文件极占cpu资源,其实10个泡泡对于我做的这个出现频率就够了,j可以根据实际情况设定。
好了,你也可以做个泡泡了,还有一点就是,我为了让泡泡不要出得这么频繁,让第二祯和第三祯之间隔了好些个空白祯,如果想多一些,挨近一点就行了。 往上升是泡泡,如果往下飘可以做雨,雪什么的。试试看吧 :p 这个是土人布置的作业,为了加深印象,再写一遍教程。跟大家一起学习 第一次写教程,有说的不清楚的地方,请大家指出,有说的不对的地方,请大家指点。 :) (出处:清风网络学院)
上一篇:flash8.0笔触颜色支持什么
下一篇:FlashMX2004的事件机制
|
| 相关文章: |
|
|
|
| 相关软件: |
|
|
|
|