Родитель-ребенок Ограничения - PullRequest
0 голосов
/ 14 июля 2009

Пример:

var circle1 :Canvas = new Canvas();
var circle2 :Canvas = new Canvas();

circle1.addChild( circle2 )
circle1.scaleX = 2;

После предыдущего примера, когда Flash будет отображать circle2, потому что это дочерний элемент circle1, он будет масштабирован до. Есть ли способ, которым я могу масштабировать круг 1 без влияния на круг 2 или что я могу сделать, чтобы круг 2, чтобы он мог иметь тот же масштаб?

Ответы [ 2 ]

2 голосов
/ 14 июля 2009

Это довольно просто, просто компенсируйте тот факт, что вы удвоили размер родителя.

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 голос
/ 14 июля 2009

Может помочь вам: http://natejc.com/blog/?p=68

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