Manipulação do tamanho e dimensionamento de objetosFlash Player 9 e posterior, Adobe AIR 1.0 e posterior É possível medir e manipular o tamanho de um objeto de exibição de duas formas, usando as propriedades de dimensão (width e height) ou as propriedades de escala (scaleX e scaleY). Todo objeto de exibição tem uma propriedade width e uma propriedade height, que são definidas inicialmente como o tamanho do objeto em pixels. É possível ler os valores dessas propriedades para medir o tamanho do objeto de exibição. Você também pode especificar novos valores para alterar o tamanho do objeto, do seguinte modo: // Resize a display object. square.width = 420; square.height = 420; // Determine the radius of a circle display object. var radius:Number = circle.width / 2; Se você alterar a altura ou a largura de um objeto de exibição, esse objeto será dimensionado, ampliando ou reduzindo seu conteúdo para ajustá-lo na nova área. Caso o objeto de exibição tenha apenas formas vetoriais, essas formas serão redesenhadas na nova escala, sem prejudicar a qualidade. Todos os elementos gráficos de bitmap do objeto de exibição serão dimensionados, não redesenhados. Assim, por exemplo, uma foto digital cuja largura e altura são aumentadas além das dimensões reais das informações de pixels na imagem será pixelizada, ficando irregular. Quando as propriedades width ou height de um objeto de exibição são alteradas, o Flash Player e o AIR também atualizam as propriedades scaleX e scaleY. Nota: Os objetos TextField são uma exceção a este comportamento de dimensionamento. Os campos de texto devem fazer o dimensionamento automático para acomodar textos com quebra e tamanhos de fonte variados, fazendo com que os valores scaleX ou scaleY sejam redefinidos como 1 após o redimensionamento. No entanto, se você ajustar os valores scaleX ou scaleY de um objeto TextField, os valores de largura e altura serão alterados para acomodar os valores de dimensionamento especificados.
Essas propriedades representam o tamanho relativo do objeto de exibição em comparação com o tamanho original. As propriedades scaleX e scaleY usam valores fracionários (decimais) para representar porcentagens. Por exemplo, se a largura de um objeto de exibição for alterada para ter metade do tamanho original, a propriedade scaleX terá o valor .5, que indica 50%. Se a altura for dobrada, a propriedade scaleY terá o valor 2, que indica 200%. // circle is a display object whose width and height are 150 pixels. // At original size, scaleX and scaleY are 1 (100%). trace(circle.scaleX); // output: 1 trace(circle.scaleY); // output: 1 // When you change the width and height properties, // Flash Player changes the scaleX and scaleY properties accordingly. circle.width = 100; circle.height = 75; trace(circle.scaleX); // output: 0.6622516556291391 trace(circle.scaleY); // output: 0.4966887417218543 As alterações de tamanho não são proporcionais. Em outras palavras, e você alterar a altura de um quadrado, mas não a largura, suas proporções não serão mais as mesmas e o resultado será um retângulo, em vez de um quadrado. Se desejar fazer alterações relacionadas ao tamanho de um objeto de exibição, defina os valores das propriedades scaleX e scaleY para redimensionar o objeto, em vez de definir as propriedades width ou height. Por exemplo, este código altera a largura do objeto de exibição chamado square e, em seguida, altera a escala vertical (scaleY) para corresponder à escala horizontal, mantendo o tamanho proporcional do quadrado. // Change the width directly. square.width = 150; // Change the vertical scale to match the horizontal scale, // to keep the size proportional. square.scaleY = square.scaleX; |
![]() |