Все преобразования матрицы, включая вращение и масштаб, вступают в силу относительно начала системы координат, в которой живет клип. Если вы хотите повернуть или масштабировать вокруг любой другой точки, вы должны перевести клип в эту точку, трансформировать и перевести обратно. Другими словами, это:
clip.rotation = 30;
делает то же самое, что и это:
var tx:Number = clip.x;
var ty:Number = clip.y;
var m:Matrix = clip.transform.matrix;
m.translate( -tx, -ty );
m.rotate(30*Math.PI/180);
m.translate( tx, ty );
clip.transform.matrix = m;
Работает точно так же с преобразованием масштаба.
Что касается вашего другого вопроса, разница между MovieClip.scaleX / Y и Matrix.scale точно такая же, как и с rotate - вы можете применять ваши повороты в любом случае, но с помощью встроенных свойств MC они вступают в силу относительно клипа. точка регистрации, и функции Matrix относительно начала координат. Если точка регистрации клипа находится в точке (0,0), они работают одинаково.