当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash新手入门教程:AS2代码制作鼠标跟随龙舟效果

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新手入门教程:AS2代码制作鼠标跟随龙舟效果


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

 

 

请在舞台上拖动鼠标,看效果:

现在来制作.先建三个影片剪辑,分别如下图:

元件1:

元件2:

元件3:

以上元件请注意图形的方向,及中心点的位置。然后在库中分别右击元件,然后选接,在标识符中,元件1为lt,元件2为:ls,元件3为:lw.

现在回到主场影,打开动作面板输入如下语句:
this.attachMovie("lt","lz0",11);
for(i=1;i< 11;i++){
this.attachMovie("ls","lz"+i,i);
}
this.attachMovie("lw","lz11",0);
这一帧的动作创建了龙舟,它从库中加载了lt,10个ls和lw.
在第2帧插入关键帧,在动作面板中输入如下代码:
i = 11;
dx = _xmouse - lz0._x;
dy = _ymouse - lz0._y;
lz0._x += dx/10;
lz0._y += dy/10;
dz = Math.atan2 (dy,dx)*180/Math.PI ;
lz0._rotation = dz;
while (i>0) {
lz = eval("lz"+i);
qlz = eval("lz"+ (i-1));
lsx = qlz._x - lz._x;
lsy = qlz._y - lz._y;
dls = Math.atan2 (lsy,lsx)*180/Math.PI ;
lz._rotation = dls;
lz._y = qlz._y;
lz._x = qlz._x;

i = i-1;
}
  这一帧的动作,是让龙舟随鼠标动起来。
在第3帧插入关键帧,在动作面板中输入:
gotoAndPlay(2);
 这是回到第2帧开始播放形成循环。
ok,可测试看下效果。

下面我们学习可爱的小鱼跟随鼠标游动的效果

扩展练习:鼠标跟随的鱼:(做法和龙舟一样)

三个元件的图片分别是:

元件1,连接名为:yt

元件2,连接名:ys

元件3,连接名:yz

主场景第1帧代码:
this.attachMovie("yt","xy0",21);
for (i=1;i<21;i++){
if(i == 13){
this.attachMovie("yz","xy"+i,i);
} else {
this.attachMovie("ys","xy"+i,i);
}
cys = eval("xy"+i);
cys._yscale -= i*5;
cys._xscale -= i*5;
}
第2帧代码:
ytx = _xmouse - xy0._x;
yty = _ymouse - xy0._y;
ytz = Math.atan2(yty,ytx)*180/Math.PI;
xy0._rotation = ytz;
xy0._x += ytx/10;
xy0._y += yty/10;
n=21;
while(n>0){
hys = eval("xy"+n);
qys = eval("xy"+(n-1));
ysx = qys._x - hys._x;
ysy = qys._y - hys._y;
ysz = Math.atan2(ysy,ysx)*180/Math.PI;
hys._rotation = ysz;
hys._x = qys._x;
hys._y = qys._y;
n--;
}
第3帧代码:
gotoAndPlay(2);