Pregunta

Ejemplo:

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

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

Después de que el ejemplo anterior, cuando se hacen circle2 flash porque es niño a circle1 se puede escalar a. ¿Hay alguna manera de escalar circle1 sin afecto circle2 o qué puedo hacer para CIRCLE2 por lo que puede tener la misma escala?

¿Fue útil?

Solución

Otros consejos

Es muy sencillo, basta con compensar el hecho de que el doble del tamaño de la matriz.

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

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

Una función muy útil tal vez, que se ocupa de los problemas de escala, podría ser:

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

El primer fragmento entonces sería:

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

circle1.addChild( circle2 )
setParentOnlyScale(circle1, 2);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top