それは非常に簡単です。親のサイズを2倍にするという事実を補うだけです。
var circle1 :Canvas = new Canvas();
var circle2 :Canvas = new Canvas();
circle1.addChild( circle2 )
circle1.scaleX = 2;
circle2.scaleX = .5; // Added
スケーリングの問題を処理する便利な関数は次のようになります。
function setParentOnlyScaleX(parent:Canvas, scale:Number):void {
parent.scaleX = scale;
for (var i = 0; i < parent.numChildren - 1; ++i) {
var child:Canvas = circle1.getChildAt(i);
child.scaleX = 1 / scale;
}
}
その場合、最初のスニペットは次のようになります。
var circle1 :Canvas = new Canvas();
var circle2 :Canvas = new Canvas();
circle1.addChild( circle2 )
setParentOnlyScale(circle1, 2);