当前位置:主页>FLASH AS 编程>AS进阶篇>文章内容
  • 鼠标效果系列教程—游动的鱼
  • 来源:网络 作者:不详 2006-06-19 【
FlashAs作品发表>>我要投稿 | FlashAs讨论区>>AS论坛
Flash Media Server学习站>>www.FMScn.com


Pieza1._y+=(_ymouse-Pieza1._y)/R;
//控制鱼头转向鼠标的方向
Pieza1._rotation = 57.29578*Math.atan2(_ymouse-Pieza1._y,_xmouse-Pieza1._x);
//控制鱼身跟随鱼头
for (i=2; i<N; i++) {
this["Pieza"+i]._x+=(this["Pieza"+(i-1)]._x-this["Pieza"+i]._x)/2;
this["Pieza"+i]._y+=(this["Pieza"+(i-1)]._y-this["Pieza"+i]._y)/2;
this["Pieza"+i]._rotation=57.29578*Math.atan2(this["Pieza"+(i-1)]._y-this["Pieza"+i]._y,this["Pieza"+(i-1)]._x-this["Pieza"+i]._x);
}

 

关于跟随的语句,不用多作解释了吧。不过有的朋友可能对“+=”这个操作符不太熟悉。“A+=B”表示什么呢?它其实就等价于“A=A+B”。同理,“A-=B”就相当于“A=A-B”。
控制鱼的转向时,用到了一个数学对象:Math.atan2()。看一下它的用法:
Math.atan2(y, x)
参数
x 一个数字,指定点的 x 坐标。
y 一个数字,指定点的 y 坐标。
返回
一个数字。
说明
方法;以弧度为单位计算并返回 y/x 的反正切值。返回值表示相对直角三角形对角的角,其中 x 是临边边长,而 y 是对边边长。
简单的说,就是根据点的坐标来求角。但它返回的是个弧度值,我们还要把它转变成度数才能用到_rotation属性中。用下面这个公式来计算:
度数=弧度*180/3.14159265=弧度*57.29578

第3帧的action只有一句:
gotoAndPlay(2);

返回第2帧,做成一个循环,使鱼儿不停游动。
好,本例的制作就完成了。通过这一节的学习,我们又掌握了几个知识点:
一、 idName的设置。可以在创建符号时就设好,也可以给做好的符号添加。
二、 attachMovie的用法。
三、 利用两点坐标求角度:Math.atan2(y2-y1,x2-x1) 注意是y在前面哟。



上一页 1 2下一页

上一篇:实现Flash动态背景   下一篇:Flash中发送E-mail方法详解
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
FLASH源文件

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)