FLASH用AS控制MC角度

来源:百度知道 编辑:UC知道 时间:2024/06/04 15:42:22
需要制作一个指示牌的MC,会根据鼠标位置转动,请懂的高人给出AS代码或者原文件,谢谢!

个人设想,过程应该是先检测鼠标坐标,再计算与MC坐标中心的角度,然后把角度值赋给MC,改变,达到转动的效果,但本人AS不够精通,请高人指点,谢谢!

有原文件发给我也好,lightning7777777@163.com

假设鼠标左边是 mx,my

那么dx=mx-mc.x;dy=my-mc.y;

d=Math.sqrt(dx*dx+dy*dy);//鼠标到mc中心的距离。

然后angle=Math.acos(dx/d);//用反余弦函数算出角度,弧度制下的角度。

mc.rotation=Math.PI*angle/180;

当然这只是算法,看懂理解就可以用了。祝你成功

要连续转动的话,请写入EnterFram事件,或者MouseMove事件。

//在场景中建一影片剪辑,取实例名_mc;在第一帧写:
_root.onEnterFrame = function()
{
dy = _ymouse-_root._mc._y;
dx = _xmouse-_root._mc._x;
jiao = Math.atan2(dy, dx);
_mc._rotation = jiao*180/Math.PI;
_mc._x += (Math.cos(jiao)*10+dx)/5;
_mc._y += (Math.sin(jiao)*10+dy)/5;
};