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

Flash动画制作
巧用超级解霸在Flash V5.0中插入录像
教你用Flash MX来制作简单的课件界面
Flash MX 2004 ActionScript图文教程(二)
Flash MX 2004 ActionScript图文教程(三)
Flash MX 2004 ActionScript图文教程(四)
Flash MX 2004 ActionScript图文教程(五)
Flash MX 2004 ActionScript图文教程(六)
flash场景之间相互跳转的实现方法
Flash本地加密
FLASH -- 关于变量的问题FLASH -- 关于变量的问题
Flash5 画任意直线教程
Flash MX 视频导入功能详解
制作飞舞的蝴蝶
Flash MX 2004 ActionScript图文教程(七)
Flash MX 2004 ActionScript图文教程(八)
Flash MX 2004 ActionScript图文教程(九)
Flash MX 2004 ActionScript图文教程(十)
Flash教程 飞翔的文字
Flash MX 2004 ActionScript图文教程(十一)
制作Flash网站技巧拾零

Flash动画制作 中的 Flash新手入门教程:AS2代码制作鼠标跟随龙舟效果


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 148 ::
收藏到网摘: 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);