【发布时间】:2011-04-12 10:15:27
【问题描述】:
我遇到这个问题已经有一段时间了,如果有人可以提供帮助,那就太好了。 :)
http://img31.imageshack.us/i/problemsc.jpg/ (问题说明)
所以,我有这个对象,注册点位于中间底部。我希望这个对象跟随鼠标,但在旋转时保持在屏幕的中心。这是我使用的:
dx = mouseX - this.x ;
dy = mouseY - this.y ;
radians = Math.atan2(dy, dx);
angle= radians * 180/Math.PI;
this.rotation = angle + 90;
this.y = mouseY + this.height;
此代码的问题在于,当您将鼠标从中心移开时,例如角度不是 90 度,鼠标光标和对象之间存在偏移。通过跟踪,我发现它应该跟随鼠标的y位置,但是通过旋转对象,它的高度和宽度发生了变化,所以对象没有指向光标的右边。
有没有办法补偿这种偏移?或者也许是另一种方法? 提前致谢。
更新:好的,看来我没有正确解释问题,抱歉,英语不是我的母语。我需要对象跟随光标,但对象的前端与光标位于同一位置,对象的后端位于屏幕中间,就在中心 x 轴上。所以当你移动鼠标时,物体的前端会一直指向并且会在鼠标的位置上。后端应保持在同一位置,但要旋转。
【问题讨论】:
标签: flash actionscript-3