IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Поворот объекта, относительно центра
NikRus34
сообщение 1.08.2011 - 15:22
Сообщение #1


Новичок
*

Группа: Новичок
Сообщений: 1
Регистрация: 1.08.2011
Пользователь №: 10611



есть два объекта, в которые я загружаю картинки

Код
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
сообщение 1.08.2011 - 15:59
Сообщение #2


Активист
****

Группа: Пользователь
Сообщений: 987
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



Непонятно, зачем столько мучений, когда вы все равно задаете вручную координаты ptRotationPoint???
По-моему надо делать как было раньше: повернуть - повернется от верхнего левого угла. После этого сместить на величину ptRotationPoint - и будет эффект как-будто бы повернули из этой точки.
Тогда после этого можно будет без плясок перемещать объект куда надо.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 17.10.2011 - 21:24