Documentación de Flash CS3 |
|||
| Programación con ActionScript 3.0 > Programación de la visualización > Manipulación de objetos de visualización > Manipulación del tamaño y ajuste de escala de los objetos | |||
Hay dos formas posibles de medir y manipular el tamaño de un objeto de visualización: con las propiedades de dimensión (width y height) o las propiedades de escala (scaleX y scaleY).
Cada objeto de visualización tiene una propiedad width y una propiedad height, definidas inicialmente con el tamaño del objeto en píxeles. La lectura de los valores de estas propiedades permite medir el tamaño del objeto de visualización. También es posible especificar nuevos valores para cambiar el tamaño del objeto, como se indica a continuación:
// Cambiar el tamaño de un objeto de visualización. square.width = 420; square.height = 420; // Determinar el radio de un objeto de visualización de círculo. var radius:Number = circle.width / 2;
Al cambiar la altura (height) o anchura (width) de un objeto de visualización, se ajusta la escala del objeto, de modo que el contenido del mismo se contrae o expande para ajustarse a la nueva área. Si el objeto de visualización sólo contiene formas vectoriales, dichas formas volverán a dibujarse en la nueva escala sin perder la calidad. Los elementos gráficos de mapa de bits del objeto de visualización ajustarán su escala en lugar de dibujarse de nuevo. Así pues, por ejemplo, una foto digital cuya anchura y altura hayan aumentado más allá de las dimensiones reales de la información de píxeles de la imagen aparecerá pixelada y con bordes dentados.
Cuando se cambian las propiedades width o height de un objeto de visualización, Flash Player actualiza también las propiedades scaleX y scaleY del objeto. Estas propiedades representan el tamaño relativo del objeto de visualización con respecto a su tamaño original. Las propiedades scaleX y scaleY utilizan valores fraccionarios (decimales) para representar el porcentaje. Por ejemplo, si se cambia la anchura (width) de un objeto de visualización a la mitad de su tamaño original, la propiedad scaleX del objeto tendrá el valor .5, que significa 50 por ciento. Si se duplica la altura, la propiedad scaleY tendrá el valor 2, que significa 200 por ciento.
// circle es un objeto de visualización con una anchura y altura de 150 píxeles. // En el tamaño original, el valor de scaleX y scaleY es 1 (100%). trace(circle.scaleX);// salida: 1 trace(circle.scaleY); // salida: 1 // Si se cambian las propiedades width y height, // Flash Player cambia las propiedades scaleX y scaleY de forma correspondiente. circle.width = 100; circle.height = 75; trace(circle.scaleX); // salida: 0.6622516556291391 trace(circle.scaleY);// salida: 0.4966887417218543
Los cambios de tamaño no son proporcionales. Dicho de otro modo, si se cambia la altura (height) de un cuadrado pero no la anchura (width), ya no tendrá las mismas proporciones y ya no será un cuadrado sino un rectángulo. Si se desea cambiar relativamente el tamaño de un objeto de visualización, se pueden definir los valores de las propiedades scaleX y scaleY para cambiar el tamaño del objeto, en lugar de definir las propiedades width o height. Por ejemplo, este código cambia la anchura (width) del objeto de visualización denominado square y luego modifica la escala vertical (scaleY) para que coincida con la escala horizontal, de modo que el tamaño del cuadrado siga siendo proporcional.
// Cambiar la anchura directamente. square.width = 150; // Cambiar la escala vertical para que coincida con la escala horizontal // y mantener así el tamaño proporcional. square.scaleY = square.scaleX;
Flash CS3
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000156.html