![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#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 -координаты то же изменились, т.е. встали туда, где бы они на самом деле были если бы мы повернули объект на определенный угол? |
|
|
![]()
Сообщение
#2
|
|
![]() Активист ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 987 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
Непонятно, зачем столько мучений, когда вы все равно задаете вручную координаты ptRotationPoint???
По-моему надо делать как было раньше: повернуть - повернется от верхнего левого угла. После этого сместить на величину ptRotationPoint - и будет эффект как-будто бы повернули из этой точки. Тогда после этого можно будет без плясок перемещать объект куда надо. |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.10.2011 - 21:24 |