我需要一些非常具体的问题帮助。 我看了一下并找到了一些答案,但并不像我需要的那样具体。
我正在使用flashdevelop,现在,我的鼠标光标(居中)后面有一个矩形(它是一个Sprite)。 当我滚动鼠标滚轮时,我想对它进行旋转,但是我需要旋转应用于它的中心,我需要对象同时保持在鼠标光标的中心。 而且我还需要以弧度为单位应用旋转,而不是以度为单位。
现在我明白了:
var mod:Number;
if (e.delta <= 0) {
mod = -0.1;
}else {
mod = 0.1;
}
有人可以帮帮我吗?在我看到之后,似乎我要使用矩阵和复杂的数学,但我不知道如何做我想做的事情。
答案 0 :(得分:0)
你只需要将精灵的注册点保持在矩形的中心,使其围绕它的中心旋转。从(0,0)绘制精灵时,注册点是左上角而不是中心。以下是如何使其成为中心:
var rectangleSprite:Sprite = new Sprite();
rectangleSprite.graphics.lineStyle(3,0x00ff00);
rectangleSprite.graphics.beginFill(0x0000FF);
//please note that i am not drawing the sprite from (0,0),
//instead i start from (-width/2,-height/2)
rectangleSprite.graphics.drawRect(-150,-75,300,150);
rectangleSprite.graphics.endFill();
对于弧度转换的度数,您只需要在应用旋转之前将弧度值乘以(180 / Math.PI)。
var rotationInDegrees = rotationInRadians*(180/Math.PI);