快速业务通道

浅谈atan在FLASH中的应用之鼠标跟随

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12


不久前,看了番茄老师的“浅谈sin,cos”,真是让人受益非浅,经过这两天的研究, 悟出了------Math.atan函数在Flash中的应用“鼠标跟随
好了,我们先看Math.atan的语法规则:
可用性
Flash Player 5。在 Flash Player 4 中,Math 对象的方法和属性是使用近似值模拟的,可能不如 Flash Player 5 支持的非模拟数学函数那样精确。
用法
Math.atan(x)
参数
x 一个数字。
返回
一个数字。
说明
方法;计算并返回参数 x 中指定的数字的反正切值。返回值介于负二分之 pi 与正二分之 pi 之间。
懂了吗?好,再看效果:
点击浏览该文件
这就是Math.atan的妙用,,下面我来仔细给大家分析一下程序~
如图:
按此在新窗口浏览图片 关键代码如下: function RtoD(rad){//FLASH中的三件函数使用的单位是“弧度”,所以用RtoD函数将角度转化为弧度
return rad*180/Math.PI;
}
bug.onMouseMove=function(){
mcx=(_root._xmouse-bug._x);获得鼠标与MCX轴的距离,并用于下面的计算
mcy=(_root._ymouse-bug._y);同上
if(mcx<0 and mcy<0){//判断,如果MC在坐标轴的第三象限;
dRad=Math.PI ;//附正值
}else if(mcx<0 and mcy>0){//判断,如果MC在坐标轴的第二象限;
dRad= -Math.PI;//附负值

}
else{dRad=0;//其他象限不要变
}
angle=Math.atan(mcy/mcx)+dRad;//加“dRad的目的是因为:数学上与FLASH中所定义的坐标轴在Y轴方向是相反的~,所以,当鼠标经过第2象限就加一个PI()
当鼠标经过第3象限就减一个PI()

bug._rotation=RtoD(angle+Math.PI/2);这里的再次用RtoD函数,将“弧度”转换为“角度”,因为MC的头指向上方,而X轴的正方向以逆时针算起,加个PI()/2(90度)做为补偿,就刚才套上鼠标的位置~
}; 原文件
点击浏览该文件
好好学吧,这个东西很有用的,高手指导,菜鸟学习
//转载请与本人联系 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号