Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Поворот объекта
Flash Zone Forum > Macromedia Flash > ActionScript
NikRus34
 есть два объекта, в которые я загружаю картинки

Код
uploader1.source = "1.jpg";
addChild(uploader1);

uploader2.source = "2.png";
addChild(uploader2);


есть кнопочки, с помощью которых я масштабирую, перемещаю и поворачиваю эти два объекта.
поворот объекта (ob.rotation=N) производится относительно левого верхнего угла., а мне надо от центра.

пробовал следующую функцию:
Код
function rotateAroundCenter (ob:*, angleDegrees:Number, ptRotationPoint:Point)
{
     var m:Matrix=ob.transform.matrix;
     m.tx -= ptRotationPoint.x;
     m.ty -= ptRotationPoint.y;
     m.rotate (angleDegrees*(Math.PI/180));
     m.tx += ptRotationPoint.x;
     m.ty += ptRotationPoint.y;
     ob.transform.matrix=m;
}


Все нормально, поворачивает как нужно, но если после этого попытаться передвинуть объект, то его уносит куда-то влево или вправо, в общем не туда куда нужно. На сколько я понял, все дело в системах координат и что у каждого объекта она своя. Вопрос, как мне повернуть объект, что бы его x,y -координаты то же изменились, т.е. встали туда, где бы они на самом деле были если бы мы повернули объект на определенный угол?
chingachgoog
Непонятно, зачем столько мучений, когда вы все равно задаете вручную координаты ptRotationPoint???
По-моему надо делать как было раньше: повернуть - повернется от верхнего левого угла. После этого сместить на величину ptRotationPoint - и будет эффект как-будто бы повернули из этой точки.
Тогда после этого можно будет без плясок перемещать объект куда надо.
Русская версия IP.Board © 2001-2013 IPS, Inc.