Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

This page was last modified 11:52, 21 March 2008.

Como fazer uma aplicação em Flash Lite se adaptar a qualquer orientação de tela

From Forum Nokia Wiki

Compatibilidade: Flash Lite 2.x

Alguns aparelhos S60, 3ª edição, permitem a troca de orientação da tela entre retrato e paisagem (e vice-versa) diretamente pela aplicação (como N93, N95) ou utilizando uma aplicação de terceiros (como o N73, N80 usando uma aplicação rotateMe).

Por padrão, aplicações de Flash Lite podem utilizar apenas um tamanho de tela (definido na caixa de diálogo Propriedades do Documento).

Se uma aplicação é desenvolvida em um tamanho de tela diferente daquele definido, o Flash Player irá redimensionar o documento e adicionar bordas nos dois lados da aplicação.

Uma aplicação Flash Lite em modo retrato.
Uma aplicação Flash Lite em modo retrato.
A mesma aplicação em modo paisagem.
A mesma aplicação em modo paisagem.


Utilizando arquivos SWF externos

  • Crie dois arquivos SWF, um será a sua aplicação otimizada para a orientação retrato, a outra será para a orientação paisagem. Neste exemplo, nós o chamaremos de myApp_portrait.swf (240 x 320 px) e myApp_landscape.swf (320 x 240 px)
Um frame otimizado para o modo retrato.
Um frame otimizado para o modo retrato.
O mesmo frame otimizado para o modo paisagem.
O mesmo frame otimizado para o modo paisagem.
  • Crie uma nova aplicação Flash Lite (myApp.swf)
  • Mude a altura e a largura do documento para os valores máximos possíveis que ele pode possuir (neste caso, 320 x 320 px) usando a caixa de diálogo Propriedades do Documento


Image:square_size.jpg

  • No primeiro keyframe de seu arquivo myApp.fla acrescente este código:
stop();
 
fscommand2("FullScreen", true);
 
/* Define scaleMode para a opção "noScale": o SWF não será redimensionado quando o tamanho da tela do aparelho mudar */
Stage.scaleMode = "noScale";
 
/* Define o alinhamento atual do filme de Flash para "Top Left" (topo a esquerda) */
Stage.align = "TL";
 
// Cria um filme vazio
this.createEmptyMovieClip("container",this.getNextHighestDepth());
 
container._x = 0;
container._y = 0;
 
// Detecta o tamanho da tela e carrega o arquivo correto.
if (Stage.width == 240) {
	container.loadMovie("file://E:/Others/myApp_portrait.swf");
} else {
	container.loadMovie("file://E:/Others/myApp_landscape.swf");
}
  • Abra o myApp.swf, sua aplicação será adaptada para a orientação de tela atual.

Em seus dois arquivos SWF, não se refira ao level _root. Modifique todas as referências de _root pelos nomes de instância do vídeo dados no main do SWF (no nosso caso, o container).

Utilizando um único arquivo SWF

Este método é similar ao procedimento explicado anteriormente, mas em vez de carregar arquivos SWF externos, ele carrega filmes internos.

  • Crie uma nova aplicação Flash Lite (myApp.swf)
  • Modifique a largura e a altura do documento para os valores máximos possíveis que ele pode possuir (neste caso, 320 x 320 px) usando a caixa de diálogo Propriedades do Documento
  • No primeiro keyframe, acrescente o seguinte código:
stop();
 
fscommand2("FullScreen", true);
 
/* Define scaleMode para a opção "noScale": o SWF não será redimensionado quando o tamanho da tela do aparelho mudar */
Stage.scaleMode = "noScale";
 
/* Define o alinhamento atual do filme de Flash para "Top Left" (topo a esquerda) */
Stage.align = "TL";
 
// Detecta o tamanho da tela e carrega o filme correto.
if (Stage.width == 240) {
	_root.attachMovie("portrait_mc","portrait",10);
 
} else {
	_root.attachMovie("landscape_mc","landscape",10);
 
}
  • Crie um novo filme:

Selecione Inserir -> Novo Símbolo… -> Selecione Movie Clip e defina um nome para ele

    • Selecione Exportar para ActionScript e atualize o identificador para portrait_mc
Click to enlarge
Click to enlarge

Pressione para aumentar a imagem.

    • Nesse filme, crie uma camada chamada background. Esta camada deverá estar sempre como plano de fundo.
    • Na primeira keyframe da camada background, desenhe um retângulo com as seguintes propriedades:

Image:shape_prop.jpg

A cor de preenchimento deverá ser da mesma cor do plano de fundo do document. (você pode preenchê-lo com outra cor durante o desenvolvimento, para poder ver as bordas).

    • Crie sua aplicação otimizada para o modo de orientação em retrato nesse filme. Não desenhe nada além do retângulo de plano de fundo.
  • Repita todas estas operações para o filme "landscape_mc" e o retângulo de tamanho 320 x 240 px.
  • Abra o myApp.swf, sua aplicação sera adaptada para a orientação de tela atual.
Related Discussions
Thread Thread Starter Forum Replies Last Post
Is possible to insert Flash Lite content inside Symbian Container Hromada Flash Lite on Nokia Devices 1 2007-11-27 10:42
Update Flash Lite to 2.1 - 6120 classic ctmstudios General Discussion 2 2008-03-18 06:29
loadMovie xiaolvren Flash Lite on Nokia Devices 6 2008-05-12 15:28
Voip&Sip and UMA marnix_moed VoIP 2 2007-01-09 12:59
Run Flash Lite 1.1 Alarm in background shakirmes Flash Lite on Nokia Devices 8 2008-07-27 06:53
 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX