Pergunta

Eu tenho um filme flash que carrega imagens dinamicamente a partir de um arquivo xml. Eu quero reutilizar esse arquivo .swf em páginas diferentes, porém as imagens na Página1 são 400 x 200 e as imagens na página 2 são 745 x 422. Quando tento reutilizar este em outra página, as imagens carregadas estão encolhidos (redimensionado) -. i gostaria que eles para coincidir com o que está definido na largura / altura, mas eles se escalado, dependendo de como o palco é dimensionado

im usando um carregador (AS3) para a imagem que coloca-los em um recipiente (Sprite)

slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));

Eu tentei fazer o estágio de vários tamanhos para começar, mas eu realmente gostaria que fosse irrelavant se possível - ou seja: 50 x 50. Então, em html a largura / altura seria definida como a largura / altura das imagens sendo carregado.

Im não um flash assistente então por favor me perdoe se im não está claro, eu vou tentar dar uma ideia mais clara, se necessário.

Foi útil?

Solução

Algumas coisas ... em primeiro lugar você precisa especificar a sua aplicação não escala. (Código AS3)

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

Em seguida, uma vez que sua imagem é carregada (adicionar um ouvinte ao objeto slideLoader), executar uma função javascript usando a classe ExternalInterface do flash.

ExternalInterface.call('resizeFlashMovie', slideLoader.width, slideLoader.height);

E a sua função javascript seria algo como isto:

function resizeFlashMovie(width, height) {
    var flash = document.getElementById('yourFlashMovieId');
    flash.style.width = width+'px';
    flash.style.height = height+'px';
}

Outras dicas

Peço desculpas que eu não tenho o código em mãos, mas eu sei que você tem a opção de definir um não-redimensionamento na tela durante a inicialização.

O ideal é que você pode passar na altura / largura através dos atributos do tag embed, ter um sem redimensionamento na tela e usar o passado em dimensões para definir a sua imagem dimenions.

Eu acredito que é isso:

fscommand("allowscale","false");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top