WEB开发网
开发学院图形图像Flash Flash AS入门教程第七课:影片剪辑第11节三角函数... 阅读

Flash AS入门教程第七课:影片剪辑第11节三角函数

 2009-12-12 00:00:00 来源:WEB开发网   
核心提示: 代码: onEnterFrame=function(){vardx=_xmouse-jt_mc._x;vardy=_ymouse-jt_mc._y;varangle=Math.atan2(dy,dx)*180/Math.PI;jt_mc._rotation=angle;}跟随鼠标旋转公式: on

代码:

onEnterFrame = function(){ 
var dx = _xmouse - jt_mc._x; 
var dy = _ymouse - jt_mc._y; 
var angle = Math.atan2(dy,dx)*180/Math.PI; 
jt_mc._rotation = angle; 
}

跟随鼠标旋转公式:

onEnterFrame = function(){ 
var dx = _xmouse - MC._x; 
var dy = _ymouse - MC._y; 
var angle = Math.atan2(dy,dx)*180/Math.PI; 
MC._rotation = angle; 
} 

这里要注意两点:1. atan2(dy,dx)是dy在前,dx在后,这一点容易搞错。2.由atan2()计算出的角度是弧度,而我们要设置_rotation属性要用角度,所以要用180/Math.PI;弧度转为角度。硬是妖怪得很,一会转过去,一会转过来。

现在你又想出了新花样了,光是跟着鼠标转还不行,还跑过去抓住它。还是看上面那个图,b点要到a点,是不是b点的x加上(x1-x2), b点的y加上(y1-y2)就行了呢。但即然是跟跟随肯定不能一步到位,要不就不是跟随了,而是帖在一起了,也就是说趋于直角三角形的斜边一能一步到位,而是一点一点地增加,这就需在设一个增量。根据前面的三角函数公式就可算出每次增加的x和y的量了。

vx = 增量*Math.cos(e); 
vy = 增量*Math.sin(e); 

将b点的x,y不停地加上这个vx,vy,b点就不停地向a点靠近了。

上一页  1 2 3 4 5 6 7  下一页

Tags:Flash AS 入门教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接