Pergunta

Existe alguma maneira para redimensionar um projeto inteiro em Flash usando Actionscript ou algum outro método?

Eu criei um aplicativo de 1024x768 Flash CS3, mas em cima de uma inspeção mais próxima das especificações, agora percebo que tem que ser 800x600. Em vez de fazer manualmente tudo menor, eu gostaria de redimensionar a janela como se alguém estivesse arrastando a borda fora. Ou talvez adicionar um botão que permite alternar entre 1024x768 e 800x600. Isso é possível?

Eu quero dizer algo como isto:

stage.stageWidth = 800;
stage.stageHeight = 600;
Foi útil?

Solução

Sim stageWidth e stageHeight são somente leitura, apesar dos docs. Mas se o SWF é incorporado em uma página web, em seguida, alterando a sua largura e altura elemento irá mudar o tamanho do palco e scaleMode vai determinar como isso é tratado. Todos os SWFs em meu site Enjoy3D fazer isso na janela de redimensionamento ...

Outras dicas

Se você quiser você pode simplesmente editar o wrapper HTML para o seu SWF e dizer se as novas dimensões, embora eu tema e mídia rasterized será pixelizada mesmo quando encolhendo. É melhor encolher tudo, mesmo que você não quer.

Se você só precisa realmente de fazê-lo em flash de usar a classe ExternalInterface do pacote flash.external para fazer uma chamada para uma função JavaScript no seu HTML. Verifique se o seu swf está dentro de uma div e definido como 100% de altura e largura da div. Agora você simplesmente alterar o tamanho do div via JavaScript via Actionscript.

Certifique-se de que você tem Stage.scaleMode definir a maneira que você quiser.

Felicidades

Você não pode alterar a largura palco e altura de Actionscript, essas propriedades são somente leitura.

Você não poderia apenas definir o tamanho das propriedades do palco (eu suponho que você está usando o Flash aqui) para 800 por 600 antes de compilar seu swf?

  1. Você pode definir as propriedades width e height no seu arquivo xxx-app.xml
  2. Se você quiser fazê-lo dinamicamente, você poderia usar FlexGlobals.topLevelApplication.width e altura propriedades ou as propriedades Application.application.width e altura obsoletas
  3. Ou se você tem um projeto ActionScript puro, em que você não pode fazer FlexGlobals ou aplicativo, você poderia de seu principal arquivo ActionScript (Sprite) execute o seguinte (note que estágio deve ser inicializado antes de fazer isso)

    width = WIDTH;
    height = HEIGHT;
    stage.stageWidth = WIDTH;
    stage.stageHeight = HEIGHT;
    stage.nativeWindow.width = WIDTH;
    stage.nativeWindow.height = HEIGHT;
    
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top