示例:
var circle1 :Canvas = new Canvas();
var circle2 :Canvas = new Canvas();
circle1.addChild( circle2 )
circle1.scaleX = 2;
在之前的示例之后,Flash将渲染circle2,因为它是circle1的子项,它将被缩放到。有没有办法可以在不影响circle2的情况下缩放circle1,或者我可以对circle2做什么,这样它可以有相同的比例?
答案 0 :(得分: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);
答案 1 :(得分:1)