PDA

Просмотр полной версии : разворот объекта вокруг точки


Aldegran
19.06.2009, 18:44
Здравствуйте.
Может этот вопрос уже задавали кучу раз но я так и не нашол достойного ответа тут.
Пожалуйста подскажите как програмно развернуть мувик не относительно нерхнего левого края а относительно центра (ну или произвольной точки)?
private function rotateObj(value: int): void {
_rot+=value;
rotation=_rot;
var pW:int=(width/2)*Math.cos(grad*rotation);
var pH:int=(height/2)*Math.sin(grad*rotation);
_deltaS = Math.sqrt(Math.pow(pW,2)+Math.pow(pH,2));
var nposX:Number=_deltaS*Math.cos(grad*_rot);
var nposY:Number=_deltaS*Math.sin(grad*_rot);
x=_posX-nposX;
y=_posY-nposY;
}
так не работает :(

Obi
19.06.2009, 19:10
rotation поворачивает объект относительно точки (0, 0) в системе координат объекта, а не относительно левого верхнего угла. Соответственно, чтобы точка (0, 0) была в центре объекта, нужно сдвинуть содержимое.

iNils
19.06.2009, 19:29
Нет запятых - нет темы.