Execução de exemplos do ActionScript 3.0 em dispositivos móveis

Você pode executar os exemplos de código do ActionScript 3.0 em dispositivos móveis que reconhecem o Flash Player 10.1. Entretanto, você normalmente executa um exemplo de código para aprender como funcionam determinadas classes e determinados métodos. Nesse caso, execute o exemplo em um dispositivo que não seja móvel, como um computador de mesa. No computador de mesa, você pode usar comandos de rastreamento e outras ferramentas de depuração no Flash Professional ou no Flash Builder para compreender melhor o exemplo de código.

Se quiser executar o exemplo em um dispositivo móvel, você pode copiar os arquivos no dispositivo ou em um servidor Web. Para copiar arquivos no dispositivo e executar o exemplo no navegador, faça o seguinte:

  1. Crie o arquivo SWF seguindo as instruções em Execução de exemplos do ActionScript 3.0 no Flash Professional ou em Execução de exemplos do ActionScript 3.0 no Flash Builder. No Flash Professional, crie o arquivo SWF quando selecionar Controlar > Testar Filme. No Flash Builder, crie o arquivo SWF quando executar, depurar ou criar o seu projeto do Flash Builder.

  2. Copie o arquivo SWF em um diretório no dispositivo móvel. Use o software que acompanha o dispositivo para copiar o arquivo.

  3. Na barra de endereços do navegador no dispositivo móvel, digite o arquivo:// URL para o arquivo SWF. Por exemplo, digite file:://applications/myExample.swf.

Para copiar arquivos em um servidor Web e executar o exemplo no navegador do dispositivo, faça o seguinte:

  1. Crie um arquivo SWF e um arquivo HTML. Primeiro, siga as instruções em Execução de exemplos do ActionScript 3.0 no Flash Professional ou em Execução de exemplos do ActionScript 3.0 no Flash Builder. No Flash Professional, a seleção de Controlar > Testar Filme cria apenas o arquivo SWF. Para criar ambos os arquivos, primeiro selecione Flash e HTML na guia Formatos da caixa de diálogo Publicar Configurações. Em seguida, selecione Arquivo > Publicar para criar os arquivos HTML e SWF. No Flash Builder, crie os arquivos SWF e HTML quando executar, depurar ou criar o seu projeto do Flash Builder.

  2. Copie os arquivos SWF e HTML em um diretório do servidor Web.

  3. Na barra de endereços do navegador no dispositivo móvel, digite o endereço HTTP do arquivo SWF. Por exemplo, digite http://www.myWebServer/examples/myExample.html.

Antes de executar um exemplo em um dispositivo móvel, considere cada um dos seguintes aspectos.

Tamanho do palco

O tamanho do palco usado na execução de um exemplo em um dispositivo móvel é muito menor do que quando você utiliza um dispositivo que não seja móvel. Muitos exemplos não exigem um tamanho específico de palco. Ao criar o arquivo SWF, especifique um tamanho de palco adequado ao seu dispositivo. Por exemplo, especifique 176 x 208 pixels.

A finalidade dos exemplos práticos no Guia de desenvolvimento do ActionScript 3.0 é ilustrar diferentes conceitos e classes do ActionScript 3.0. Suas interfaces de usuário são criadas para ter uma boa aparência e funcionar bem em um computador de mesa ou em um laptop. Embora os exemplos funcionem em dispositivos móveis, o tamanho do palco e o design da interface de usuário não são adequados à tela pequena. A Adobe recomenda que você execute os exemplos práticos em um computador para conhecer o ActionScript e, depois, use os snippets de código pertinentes nos seus aplicativos móveis.

Campos de texto em vez de comandos de rastreamento.

Ao executar um exemplo em um dispositivo móvel, não é possível ver o resultado dos comandos de rastreamento do exemplo. Para ver o resultado, crie uma instância da classe TextField. Depois, anexe o texto dos comandos de rastreamento à propriedade text do campo de texto.

Você pode usar a seguinte função para criar um campo de texto para usar no rastreamento:

function createTracingTextField(x:Number, y:Number, 
                                width:Number, height:Number):TextField { 
           
    var tracingTF:TextField = new TextField(); 
    tracingTF.x = x; 
    tracingTF.y = y; 
    tracingTF.width = width; 
    tracingTF.height = height; 
     
    // A border lets you more easily see the area the text field covers. 
    tracingTF.border = true; 
    // Left justifying means that the right side of the text field is automatically 
    // resized if a line of text is wider than the width of the text field. 
    // The bottom is also automatically resized if the number of lines of text 
    // exceed the length of the text field. 
    tracingTF.autoSize = TextFieldAutoSize.LEFT; 
     
    // Use a text size that works well on the device. 
    var myFormat:TextFormat = new TextFormat(); 
    myFormat.size = 18; 
    tracingTF.defaultTextFormat = myFormat; 
     
    addChild(tracingTF); 
    return tracingTF; 
}

Por exemplo, acrescente esta função à classe de documentos como uma função privada. Em seguida, em outros métodos da classe de documentos, rastreie os dados com códigos como os seguintes:

var traceField:TextField = createTracingTextField(10, 10, 150, 150); 
// Use the newline character "\n" to force the text to the next line. 
traceField.appendText("data to trace\n"); 
traceField.appendText("more data to trace\n"); 
// Use the following line to clear the text field. 
traceField.appendText("");

O método appendText() aceita apenas um valor como parâmetro. Esse valor é uma sequência de caracteres (uma instância de String ou um literal de sequência de caracteres). Para imprimir o valor de uma variável que não seja uma sequência de caracteres, primeiro é necessário converter o valor em uma String. A maneira mais fácil de fazer isso é chamar o método toString() do objeto:

var albumYear:int = 1999; 
traceField.appendText("albumYear = "); 
traceField.appendText(albumYear.toString());

Tamanho do texto

Muitos exemplos usam campos de texto para ajudar a ilustrar um conceito. Às vezes, o ajuste do tamanho do texto no campo de texto melhora a legibilidade em um dispositivo móvel. Por exemplo, se um exemplo usar uma instância de campo de texto chamado myTextField, altere o tamanho do texto com o seguinte código:

// Use a text size that works well on the device. 
var myFormat:TextFormat = new TextFormat(); 
myFormat.size = 18; 
myTextField.defaultTextFormat = myFormat

Captura da entrada do usuário

O sistema operacional e o navegador móveis capturam alguns eventos de entrada do cliente que não são recebidos pelo conteúdo SWF. O comportamento específico depende do sistema operacional e do navegador, mas pode causar comportamentos inesperados quando você executar os exemplos em um dispositivo móvel. Para obter mais informações, consulte Precedência de KeyboardEvent.

Além disso, as interfaces de usuário de muitos exemplos foram criadas para computadores de mesa ou laptops. Por exemplo, a maioria dos exemplos práticos no Guia do desenvolvedor do ActionScript 3.0 é adequada para visualização em computadores de mesa. Portanto, às vezes, nem todo o palco pode ser visto na tela do dispositivo móvel. A capacidade de deslocamento horizontal pelo conteúdo do navegador depende do navegador. Além disso, os exemplos não foram criados para capturar e tratar eventos de rolagem ou deslocamento horizontal. Portanto, as interfaces de usuário de alguns exemplos não são adequadas para execução em telas pequenas. A Adobe recomenda que você execute os exemplos em um computador para conhecer o ActionScript e, depois, use os snippets de código pertinentes nos seus aplicativos móveis.

Para obter mais informações, consulte Visão panorâmica e rolagem de objetos de exibição.

Tratamento do foco

Alguns exemplos exigem que você coloque o foco em um campo. Levando o foco a um campo, você pode, por exemplo, inserir textos ou selecionar um botão. Para levar o foco a um campo, use o ponteiro do dispositivo móvel, como um utensílio de escrita ou o dedo. Você também pode usar as teclas de navegação do dispositivo móvel para levar o foco a um campo. Para selecionar um botão no qual o foco está, use a tecla Selecionar do dispositivo móvel da mesma forma que usaria o Enter em um computador. Em alguns dispositivos, você pode selecionar um botão batendo duas vezes nele.

Para obter mais informações sobre foco, consulte Gerenciamento do foco.

Tratamento de eventos do mouse

Muitos exemplos recebem eventos do mouse. Em um computador, esses eventos de mouse podem ocorrer, por exemplo, quando um usuário passa com o cursor sobre um objeto de exibição ou quando ele clica com o botão do mouse sobre esse objeto. Nos dispositivos móveis, os eventos gerados pelo uso de ponteiros (como um utensílio de escrita ou o dedo), são chamados ‘eventos de toque’. O Flash Player 10.1 correlaciona os eventos de toque aos eventos de mouse. Essa correlação garante que o conteúdo SWF desenvolvido antes do Flash Player 10.1 continue funcionando. Portanto, os exemplos funcionam quando você utiliza um ponteiro ou arrasta um objeto de exibição.

Desempenho

Os dispositivos móveis têm menos capacidade de processamento que os computadores de mesa. Possivelmente, a velocidade de alguns exemplos que consomem muita CPU será menor em dispositivos móveis. Por exemplo, o exemplo em Exemplo de API de desenho: gerador visual algorítmico faz muitos cálculos e desenhos na entrada em cada quadro. A execução desse exemplo em um computador ilustra várias APIs de desenho. Entretanto, o exemplo não é adequado em alguns dispositivos móveis devido às suas limitações de velocidade.

Para obter mais informações sobre o desempenho em dispositivos móveis, consulte Otimização do desempenho para a plataforma Flash.

Práticas Recomendadas

Os exemplos não levam em conta as práticas recomendadas de desenvolvimento de aplicativos para dispositivos móveis. As limitações de memória e capacidade de processamento dos dispositivos móveis exigem uma atenção especial. Da mesma forma, a interface de usuário para telas pequenas tem necessidades diferentes em relação à tela de um computador de mesa. Para obter mais informações sobre o desenvolvimento de aplicativos para dispositivos móveis, consulte Otimização do desempenho para a plataforma Flash.