×

关注微信公众号

免备案网站空间虚拟主机双线空间域名查询PS数码后期
photoshop互助课堂数百G视频教程下载英语培训机构初中英语如何学随时随地聆听大师开讲/课堂
软件安装教程 远程服务 超值!手绘教程抠图教程路径专辑photoshop cs3视频教程
查看: 9953|回复: 26

[AS] 鼠标跟随龙舟[原创][本文已收录教程库]

[复制链接]
发表于 2008-6-8 09:16:23 | 显示全部楼层 |阅读模式
今天是端午节,我们来做个龙舟,如下图,请在舞台上拖动鼠标,看效果:



现在来制作.先建三个影片剪辑,分别如下图:
元件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,可测试看下效果。
本帖的地址:http://bbs.jcwcn.com/forum.php?mod=viewthread&tid=186662
跟着教程做一遍,做完的图要到这里评论交作业,教程有看不懂的地方,可以在贴子下面评论

评分

参与人数 4金币 +24 威望 +1 热心度 +6 收起 理由
祁连山 + 1 谢谢原创教程哈,支持一下。
xyl7422 + 8 + 2 感谢发布教程,博士辛苦了:)
清风掠影 + 8 + 2 精品文章
云飘飘 + 8 + 2 谢谢教程,博士辛苦了

查看全部评分

发表于 2008-6-9 21:06:34 | 显示全部楼层
酷素材
交作业。(按照老师的点评修改了一下)


[ 本帖最后由 sanbos 于 2009-1-23 10:21 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 2金币 +4 收起 理由
云飘飘 + 2 尾与身的大小有点不协调,
sanbos + 2 不错,不过应该调整龙头,龙身,龙尾三个图 ...

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-9 21:20:43 | 显示全部楼层
扩展练习:鼠标跟随的鱼:(做法和龙舟一样)



三个元件的图片分别是:

元件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);

[ 本帖最后由 sanbos 于 2009-1-23 10:22 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2008-6-10 20:23:41 | 显示全部楼层
以上元件请注意图形的方向,及中心点的位置。然后在库中分别右击元件,然后选接,在标识符中,元件1为lt,元件2为:ls,元件3为:lw.
现在回到主场影,打开动作面板输入如下语句:
this.attachMovie("lt","lz0",11);//从库中载入lt并命名为:lz0
for(i=1;i< 11;i++){
this.attachMovie("ls","lz"+i,i);// 从库中载入ls,执行十次,并分别命名为:lz1;lz2……lz10
}
this.attachMovie("lw","lz11",0);// 从库中载入lw并命名为:lz11
  这一帧的动作创建了龙舟,它从库中加载了lt,10个ls和lw.
在第2帧插入关键帧,在动作面板中输入如下代码:
i = 11;//初始化:赋值i=1
dx = _xmouse - lz0._x;//龙头的横坐标和鼠标横坐标之差
dy = _ymouse - lz0._y;//同上,但是纵坐标
lz0._x += dx/10;//设置龙头的新横坐标为龙头原横坐标+dx
lz0._y += dy/10;//同上设置龙头的新纵坐标
dz = Math.atan2 (dy,dx)*180/Math.PI ;//通过数学的反正切公式求出龙头的新方向角度
lz0._rotation = dz;//赋值角度
while (i>0) {
lz = eval("lz"+i);//初始化,为什么不是lz=eval(“lz”+i):
qlz = eval("lz"+ (i-1));//同上
lsx = qlz._x - lz._x;//第lz(i-1)和第lzi的横坐标之差
lsy = qlz._y - lz._y;//同上,但是是纵坐标
dls = Math.atan2 (lsy,lsx)*180/Math.PI ;// 通过数学的反正切公式求出龙身lzi的新方向角度
lz._rotation = dls;//赋值角度
lz._y = qlz._y; //赋值
lz._x = qlz._x; 同上

i = i-1;
}
  这一帧的动作,是让龙舟随鼠标动起来。
在第3帧插入关键帧,在动作面板中输入:
gotoAndPlay(2);//不断循环回到第二帧,就是让龙头不断的以速度(横坐标上以dx/10的速度,纵坐标以dy/10的速度)

问题:
1:
lz = eval("lz"+i);和lz = "lz"+i;有什么区别阿?
2:
this.attachMovie("ls","lz"+i,i);//是从库中载入ls元件并命名叫lzi,还是命名叫"lz”+i?

谢谢.HOHO……


效果完成动画:
Flash: http://img.jcwcn.com/attachment/forum/month_0806/20080610_aa9fce23f20a2e0d28e0tiJ2zRyvGYl9.swf

[ 本帖最后由 sanbos 于 2009-1-23 10:24 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +3 热心度 +1 收起 理由
sanbos + 3 + 1 做得不错。同时感谢你对这些代码进行了解释 ...

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-10 21:17:48 | 显示全部楼层
酷素材
楼上朋友的作业:

1.eval()函数返回标准的格式,即eval("lz"+i) 将返回lzi
2."lz"+i 就是lzi,+号是字符连接符号
回复 支持 反对

使用道具 举报

发表于 2008-6-11 22:13:05 | 显示全部楼层
酷素材
哈,刚好是我想找的效果,
交个作业·······

请问下:
     数学的反正切公式   Math.atan       和    Math.atan2
         有什么不同?



[ 本帖最后由 sanbos 于 2009-1-23 10:26 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +2 收起 理由
sanbos + 2 不错,支持练习。

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-11 22:44:37 | 显示全部楼层
楼上朋友的作业:
 在数学中atan和atan2有什么区别我不知道,在AS中,atan(a)是返回一个正切值(a)的角度(弧度);atan2(y,x)是返回从x轴沿逆时针方向到点(x,y)的角度(弧度)。
回复 支持 反对

使用道具 举报

发表于 2008-6-17 22:13:09 | 显示全部楼层

交作业了

原帖由 talentmu 于 2008-6-10 20:23 发表
以上元件请注意图形的方向,及中心点的位置。然后在库中分别右击元件,然后选接,在标识符中,元件1为lt,元件2为:ls,元件3为:lw.
现在回到主场影,打开动作面板输入如下语句:
this.attachMovie("lt","lz0",1 ...

for(i=1;i< 11;i++){
this.attachMovie("ls","lz"+i,i);// 从库中载入ls,执行十次,并分别命名为:lz1;lz2……lz11
}
执行十次,最后一个lz10吧



[ 本帖最后由 sanbos 于 2009-1-23 10:27 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +2 收起 理由
sanbos + 2 做得不错

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2008-6-19 15:30:12 | 显示全部楼层
原帖由 plthm 于 2008-6-17 22:13 发表

for(i=1;i< 11;i++){
this.attachMovie("ls","lz"+i,i);// 从库中载入ls,执行十次,并分别命名为:lz1;lz2……lz11
}
执行十次,最后一个lz10吧

http://bbs.jcwcn.com/attachment.php?aid=855807&k=f9467f64baa ...


你好,恩,是lz10,谢谢指教马上修改,论坛不让改了,说时间长了,不好意思,谢谢,,呵

[ 本帖最后由 talentmu 于 2008-6-19 15:31 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2008-7-5 02:38:30 | 显示全部楼层
做了一下鼠随鱼,效果不错,就是在对齐时麻烦了些,好几次才搞好呢


[ 本帖最后由 sanbos 于 2009-1-23 10:27 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +2 收起 理由
zctmh0336 + 2 支持练习

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2008-11-12 00:54:55 | 显示全部楼层
多谢老师的教程,交下作业。


[ 本帖最后由 sanbos 于 2009-1-23 10:19 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +2 收起 理由
zctmh0336 + 2 支持练习

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2008-11-13 23:29:39 | 显示全部楼层
跟随鼠标的鱼

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +3 收起 理由
sanbos + 3 不错,支持练习。

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-14 00:09:13 | 显示全部楼层

12楼的作业:

回复 支持 反对

使用道具 举报

发表于 2008-11-15 14:53:32 | 显示全部楼层
交作业

[ 本帖最后由 sanbos 于 2009-1-23 10:18 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +3 收起 理由
sanbos + 3 支持练习

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2009-1-22 16:57:03 | 显示全部楼层
交作业,呵呵,鱼画得太难看了


[ 本帖最后由 eadnfan 于 2009-1-22 16:58 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +3 收起 理由
sanbos + 3 支持练习

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [立即注册]

本版积分规则

2345