as3, вращая изображение, а затем перемещая x и y относительно центра - PullRequest
0 голосов
/ 22 февраля 2011

Я заканчиваю разработку приложения для дизайна, где вы можете загружать изображения и цвета.Я использую менеджер преобразования greensock.Я беру все, что пользователь делает, и записываю его, чтобы я мог воссоздать то, что они сделали в большем масштабе, за кулисами (для экспорта в целях печати)

Проблема, с которой я сталкиваюсь, связана с вращением и перемещением x изначения у.Менеджер преобразования делает все относительно центральной точки, но когда я воссоздаю объект изображения, точка регистрации находится вверху слева.Я нашел, как вращаться вокруг центра объекта, используя матрицу преобразования, но я не могу правильно перемещать x и y, потому что эти значения меняются при вращении.Я хочу просто переместить изображение влево или вправо относительно центра.Как я могу сделать это.

Вот как я вращаюсь.

private 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;
 }

РЕДАКТИРОВАТЬ: Вот еще немного кода, когда я преобразую элементы (это после того, как я изменил некоторые вещисогласно первому комментарию, приведенному ниже. (_j2sratio - это то, что я измеряю все для печати).

var newUI:MovieClip = new MovieClip();
var bmapHolder:MovieClip = new MovieClip();
bmapHolder.addChild(bmap);
bmapHolder.x = -bmapHolder.width/2;
bmapHolder.y = -bmapHolder.height/2;
newUI.addChild(bmapHolder);
newUI.width = $value.twidth * _j2sRatio;
newUI.height = $value.theight * _j2sRatio;
newUI.rotation = $value.rotation;
bmapHolder.scaleX = $value.scaleX * _newScale;
bmapHolder.scaleY = $value.scaleY * _newScale;
newUI.x = $value.positionX * _j2sRatio;
newUI.y = $value.positionY * _j2sRatio;

1 Ответ

0 голосов
/ 22 февраля 2011

почему у вас нет спрайта / мувиклипа, к которому вы применяете преобразования, и смещение местоположения растрового изображения на -width/2 и -height/2 для x и y соответственно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...