浅谈atan在FLASH中的应用之---鼠标跟随
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-14
//BK(blue1000.com)??cuiyysw??原创,转载请注明出处 //http://www.blue1000.com 不久前,看了一片“浅谈sin,cos”的文章,,经过这两天的研究, 悟出了------Math.atan函数在Flash中的应用“鼠标跟随” 好了,我们先看Math.atan的语法规则: 可用性 Flash Player 5。在 Flash Player 4 中,Math 对象的方法和属性是使用近似值模拟的,可能不如 Flash Player 5 支持的非模拟数学函数那样精确。 用法 Math.atan(x) 参数 x 一个数字。 返回 一个数字。 说明 方法;计算并返回参数 x 中指定的数字的反正切值。返回值介于负二分之 pi 与正二分之 pi 之间。 懂了吗?好,再看效果: 点击浏览该FLASH文件: 这就是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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于浅谈atan在FLASH中的应用之---鼠标跟随的所有评论