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

Flash动画制作
我是大导演 MTV创作速成教程
二合一按钮的制作
[DIY]这种相册你有吗?
教你一招绝的!把Flash动画转换成VCD视频
使用Flash MX的3个小技巧
Flash课件一网打尽
Flash Player 7 安全策略解析
FlashMX特效之扩散与挤压
Flash MX 2004 体验之旅
Flash使用技巧--用Flash制作拖拉式菜单
Flash使用技巧--用Flash制作转动的地球仪
Flash使用技巧--用Flash 5制作Winamp光谱柱的效果
Flash使用技巧--用Flash制作落地有声的瓶子
Flash使用技巧--用Flash 5巧做“弹出”效果菜单
Flash使用技巧--用Flash制作即指即现的广告条
用大师级软件MixFX轻松打造专业FLASH
用Flash MX快速制作沟通留言程序
用Flash制作动感效果的网页链接提示框
巧妙运用Flash MX 2004制作“拖曳配对题”
用Flash MX制作精彩的粉荷清波动画特效一例

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


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