Frage

Beispiel:

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

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

Nach dem Beispiel vor, wenn Flash circle2 machen, weil es Kind es zu circle1 ist wird skaliert werden. Gibt es eine Weise, die ich ohne circle2 beeinflussen skalieren circle1 kann oder was kann ich tun, um circle2 so kann es den gleichen Maßstab haben?

War es hilfreich?

Lösung

Kann Ihnen helfen: http://natejc.com/blog/?p=68

Andere Tipps

Es ist ganz einfach, kompensiert nur für die Tatsache, dass Sie die Größe der Mutter verdoppeln.

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

circle1.addChild( circle2 )
circle1.scaleX = 2;
circle2.scaleX = .5; // Added

Eine vielleicht praktische Funktion, die Pflege von Skalierungsfragen nimmt, könnte sein:

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;
    }
}

Der erste Schnipsel dann wäre:

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

circle1.addChild( circle2 )
setParentOnlyScale(circle1, 2);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top