То, что вы видите, это вращение по умолчанию вокруг начала координат в Flex (в вашем случае координаты X, Y равны 50,50). Я предполагаю, что вы хотите повернуть вокруг центра (как я недавно это делал) , Есть способ сделать это при помощи жюри, регулируя исходную точку в зависимости от угла поворота. Тогда есть эффект поворота:
import mx.effects.Rotate;
var s:UIComponent = new UIComponent();
var rotator:Rotate = new Rotate(s);
s.graphics.lineStyle(1, 0x0000FF);
s.graphics.drawRect(50, 50, 200, 200);
rotator.angleFrom = 0;
rotator.angleTo = 30;
rotator.originX = s.width/2;
rotator.originY = s.height/2;
template.addChild(s);
rotator.play();
Теперь я заметил некоторые проблемы с этим, которые требовали от меня снова установить ширину и высоту повернутого объекта после метода play (), но кроме этого я получаю идеальную ситуацию вращения.
Еще одним недостатком является то, что это эффект, который означает, что он визуально вращает объект. Я отправлю ответ, когда исправлю это, если вы не хотите, чтобы объект вращался.
Продолжительность ответа
просто добавив rotator.duration = 1
перед игрой, это происходит так быстро, что пользователь не увидит его. 1 - 1 миллисекунда Я попытался 0, но это не привело к повороту. Очевидно, что если вы хотите увидеть эффект в действии, вы можете увеличить этот промежуток времени, используя любое значение в миллисекундах.