当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash教程:AS制作复制美丽爱心效果

Flash动画制作
Flash新手入门教程:AS2代码中duplicateMOvieClip的应用
Flash新手入门教程:AS代码实现漂亮的立体球旋转效果
Flash新手入门教程:AS代码打造漂亮的螺旋上升效果
Flash新手入门教程:初识Flash的开始页面、界面、工具栏
Flash新手入门教程:文件的导出和导入
Flash新手入门教程:AS入门第一课_认识编程环境
Flash cs3仿真艺术设计3.2:遮罩运用制作飘扬的旗帜
Flash AS3.0菜鸟学飞教程:创建Bitmap类
Flash AS 3.0入门教程:初识AS 3.0
Flash cs3仿真艺术设计3.3:遮罩运用打造光圈变换效果
Flash AS3.0菜鸟学飞教程:用反射动态创建实例
Flash cs3仿真艺术设计3.4:遮罩运用制作手写字效果
Flash cs3仿真艺术设计3.5:遮罩运用之聚光灯效果
Flash AS3.0菜鸟学飞教程:代码的位置
Flash实例教程:AS 3.0打造漂亮的水汶效果
Flash cs3仿真艺术设计3.6:运用遮罩打造焦点效果
Flash AS 3.0实例教程:Main类打造发散效果
Flash cs3仿真艺术设计4.1:阴影的基本运用
Flash cs3仿真艺术设计4.2:阴影之投影的应用
Flash cs3仿真艺术设计4.3:阴影之透视阴影

Flash动画制作 中的 Flash教程:AS制作复制美丽爱心效果


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 130 ::
收藏到网摘: n/a

效果演示:(鼠标移到影片剪辑中心位置,看看效果)

1:先在场景绘制一个任意形,图像也可以,f8转换为影片剪辑

2:紧接着,按f8再转换一次影片剪辑"元件2"(也可以ctrl+F8拖进去,这里是个人习惯)

3:双击进入"元件2",给影片剪辑起名称为"aqua0"

4:新建图层2,层2第一帧点右键,给动作.

5:给第二层依次按f7插入三个空白关键帧.他们的action依次是

第一帧:

d = 0;
i = 0;
numAqua = 0;
minAlpha = 70;
threshold = 500;
clp = aqua0;
maxChange = 1.57;
maxChange2 = 1.04666666666667;
halfMax = maxChange/2;
halfMax2 = maxChange2/2;
maxSpeed2 = 2;
trajectory = new Array(15);
trajectory[0] = 0;

第二帧:

i = numAqua;
while (i>=0) {
baseClip = eval("aqua"+i);
dx = baseClip._x-_xmouse;
dy = baseClip._y-_ymouse;
d = Number(Math.sqrt((dx*dx)+(dy*dy)));
if (threshold<d) {
            d = threshold;
}
closeness = (Math.pow(((threshold-d)/threshold)*10, 1.8)*0.016)*100;
if (!closeness) {
            closeness = 0;
}
if (0<closeness) {
            if (97<closeness) {
             if (baseClip._xscale<20) {
              removeMovieClip(baseClip);
             }
             if (numAqua<15) {
              numAqua = numAqua+1;
              duplicateMovieClip("aqua"+i, "aqua"+numAqua, numAqua);
              newClip = eval("aqua"+numAqua);
              trajectory[numAqua] = 0;
              colors[numAqua] = new Color(newClip);
              currentColor[numAqua] = new Object();
              colors[numAqua].setTransform(currentColor[numAqua]);
              newClip._x = newClip._x+(random(5)+5);
              newClip._y = newClip._y+(random(5)+5);
              baseClip._xscale = baseClip._xscale-20;
              baseClip._yscale = baseClip._yscale-20;
              newClip._xscale = baseClip._xscale;
              newClip._yscale = baseClip._yscale;
             }
            }
            currentColor[i].ra = startR-((closeness*0.01)*(startR-endR));
            currentColor[i].ga = startG-((closeness*0.01)*(startG-endG));
            currentColor[i].ba = startB-((closeness*0.01)*(startB-endB));
            colors[i].setTransform(currentColor[i]);
            a = (closeness*(100-minAlpha))*0.01;
            baseClip._alpha = a+minAlpha;
            speed = closeness/8;
            angle = (Math.random()*100)%maxChange;
            trajectory[i] = (trajectory[i]-halfMax)+angle;
} else {
            currentColor[i].ra = startR-((closeness*0.01)*(startR-endR));
            currentColor[i].ga = startG-((closeness*0.01)*(startG-endG));
            currentColor[i].ba = startB-((closeness*0.01)*(startB-endB));
            colors[i].setTransform(currentColor[i]);
            a = (closeness*(100-minAlpha))*0.01;
            baseClip._alpha = a+minAlpha;
            speed = maxSpeed2;
            angle = (Math.random()*100)%maxChange2;
            trajectory[i] = (trajectory[i]-halfMax2)+angle;
}
vx = speed*Math.cos(trajectory[i]);
vy = speed*Math.sin(trajectory[i]);
baseClip._x = baseClip._x+vx;
baseClip._y = baseClip._y+vy;
i = i-1;
}

第三帧:

gotoAndPlay(2); 

6:基本上大功告成,最后,回到场景,新建一个层,加个背景图就ok了,别忘了把背景图放到最下层哦.你也可以多复制一些调整大小,这个大家自己发挥了