Pergunta

Aqui está a situação - Eu tenho uma concha que carrega um swf externo. Agora, que .swf é 800x600, mas é uma peça de animação, e há elementos que se estende para fora do palco. Quando eu carregar o .swf no shell e chamar seu atributo de largura, ele retorna 1200 -. Porque é incluindo os elementos que quebram para fora do palco

Este não é o que eu quero - idealmente, haveria duas propriedades, uma para devolver o 'width calculado' e um para retornar o 'width default'. Faça existem estas propriedades, e se não, qual é a melhor solução?

Foi útil?

Solução

A largura ea altura do SWF carregado, conforme definido pela FLA foi criado com podem ser encontrados no objeto Loader em que você carregou o SWF em.

swfLoader.contentLoaderInfo.width
swfLoader.contentLoaderInfo.height

Esta será sempre mostrar-lhe as dimensões conforme definido nas propriedades FLA. Não faz diferença se quaisquer imagens, clipes de filme, ou o que você estender para fora do palco.

As propriedades stage.stageWidth e stage.stageHeight sempre retornará a largura do palco, o palco é sempre o mais alto de SWF. Em outras palavras, ele sempre irá representar as dimensões do palco do shell. Há sempre apenas um estágio em um aplicativo Flash.

Outras dicas

Mark é muito provável direito que a loader conteúdo informações objeto irá conter a largura ea altura correta. Eu nunca verificado mim para que eu não posso garantir isso. Os documentos dizem 'nominal' e contrastá-la com 'real' é o que parece razoável.

Há um par de outras opções. Você pode mascarar o swf externo. Criar uma máscara que é o tamanho do palco e colocar todo o conteúdo debaixo dela. Outra idéia é criar um clipe de filme baseado em uma forma retangular configurá-lo de alfa para 0 lugar que em x: 0, y: 0 e combiná-lo de largura e altura para estágio. Dê-lhe um nome de instância e, em seguida, quando é uso carregada que valor para o tamanho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top