Restricciones padre-hijo
-
13-09-2019 - |
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?
Solución
Puede ayudarle a: http://natejc.com/blog/?p=68
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