bem, suponho que você irá precisar usar o evento do stage:
onResize.
Por que
quando ocorre um redimensionamento (onResize) no SWF, ele dispara é um evento para o Stage. E esse evento é o
onResize.
Nos links que te passei acima tem vários exemplos de como usar o onResize.
No help do flash também tem uma boa documentação.
Não existe uma resposta mais prática do que a pergunta?
Mais prático que a teoria é tentar fazer. A solução pode até demorar, mas só praticando(praticando mesmo!) você aprende melhor.
Segue um exemplo que montei aqui, vê se isso ajuda em algo.
Tirei base com o exemplo:
http://www.nakisska.com.br/Obs: arquivo está em versão CS3. Não tenho como converter pra MX.
http://rapidshare.com/files/188275499/imagem_size.zip.htmlCaso não consiga usar o arquivo, crie esse mesmo exemplo abaixo pra entender.
No exemplo do download tem 3 objetos na biblioteca com
linkage(nome de vinculação) para exportar da biblioteca para o Stage.
Não tem nada adicionado manualmente. Tudo via AS.
Os arquivos na biblioteca para esse exemplo, são:
imagemFundo -
tipo: bitmap(um jpg, gif, png) -
linkage: imagemFundo
menuMc -
tipo: MovieClip -
linkage: menuMc
rodapeMc -
tipo: MovieClip -
linkage: rodapeMc
O
menuMC e
rodapeMc são apenas uma exemplo do que você pode fazer com outros objetos, ao redimensionar, eles ajustam novamente para posição x e y que foi definida pelo código, além da imagem de fundo que redimensiona em proporção.
No 1º frame da timeline principal, insira:
CÓDIGO
//importa as classes utiilzadas
import flash.display.*;
import mx.transitions.Tween;
import mx.transitions.easing.*;
//variaveis
var ouvinte:Object = new Object(); //ouvinte de eventos para o stage
var bmd:BitmapData = BitmapData.loadBitmap("imagemFundo"); //adiciona imagem da biblioteca
//mc alvo pra receber imagem de fundo vindo da biblioteca
_root.createEmptyMovieClip("alvo", 0);
_root.alvo.attachBitmap(bmd, 0, true, true);
_root.alvo.smoothing = true; //suaviza imagem
//adiciona menu
_root.attachMovie("menuMc", "menuMc", _root.getNextHighestDepth());
_root.menuMc._x = -Stage.width;
//adiciona rodapé
_root.attachMovie("rodapeMc", "rodapeMc", _root.getNextHighestDepth());
_root.rodapeMc._x = -Stage.width;
_root.rodapeMc._y = Stage.height - _root.rodapeMc._height;
Stage.align = "tl"; //alinha no canto superior esquerdo "Top Left" = tl
Stage.scaleMode = "noScale"; //para não aumentar os outros objetos
Stage.addListener(ouvinte); //ouvinte de eventos para o stage
ouvinte.onResize = ajustaTamanho; //quando ocorrer evento de redimensionar, dispara função ajustaTamanho()
//aqui também vc posiciona seu menu, rodapé, , imagens, conteúdos do seu site, etc
//essa função será ajustada sempre que redimencionar o stage(browser)
function ajustaTamanho(){
trace("ajustou imagem ao stage");
//mantem proporção de largura
_root.alvo._width = Stage.width;
_root.alvo._yscale = _root.alvo._xscale;
//ou...
//caso queira que a imagem fica totalmente ajustada na tela, não respeitando proporção de largura e altura,
//_root.alvo._width = Stage.width;
//_root.alvo._height = Stage.height;
//ajusta posição do menu com tween
new Tween(_root.menuMc, "_x", Strong.easeInOut, _root.menuMc._x, (Stage.width/2)-(_root.menuMc._width/2), 1, true);
//ajusta posição do rodapé com tween
new Tween(_root.rodapeMc, "_x", Strong.easeInOut, _root.rodapeMc._x, (Stage.width/2)-(_root.rodapeMc._width/2), 1.2, true);
new Tween(_root.rodapeMc, "_y", Strong.easeInOut, _root.rodapeMc._y, Stage.height - _root.rodapeMc._height, 1.2, true);
}
ajustaTamanho(); //executa função
Tente ver aqueles links que passei no início.
Mesmo se não for ainda o que você procura, acredito que vale a pena conhecer.
Pratique, você consegue.
Abraços.