×
Namespaces

Variants
Actions

Archived:Como criar um jogo para celulares usando Flash Lite

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Não recomendamos o desenvolvimento em Flash Lite para aparelhos atuais da Nokia. Todos os artigos relacionados a Flash Lite foram arquivados. A plataforma Nokia Asha e os aparelhos recentes S40 não possuem mais o Flash Lite. O uso de Flash Lite em Symbian é limitado. Por exemplo, informações relativas à plataforma Nokia Belle podem ser encontradas neste link (em Inglês). Informações específicas de Flash Lite para aparelhos S40 ANTIGOS e Symbian podem ser encontradas na Flash Lite Developers Library (em Inglês).

Article Metadata

Artigo
Criado por dcrocha em Dcrocha
Última alteração feita por hamishwillee em 14 May 2013

hartti - dcrocha 18:16, 24 October 2007 (UTC)

Contents

Flash Lite em poucas palavras

Flash Lite é a versão da tecnologia Flash, da Adobe, para dispositivos móveis. Ela foi desenhada especificamente para telefones celulares, e pode ser utilizada para criar conteúdo e aplicações multimídia, tais como: jogos, animações, etc. A tecnologia Flash Lite também pode ser usada para a criação de protetores de tela (screensavers) animados. No entanto, a possibilidade desta utilização varia de dispositivo para dispositivo.

Flash Lite se tornou popular primeiramente no Japão há alguns anos (versão 1.0), e ultimamente tem se expandido para outros mercados, primeiramente com a versão 1.1 e as mais recentes, 2.0 e 2.1. Atualmente o Flash Lite está disponível em mais de 300 modelos de aparelhos, tendo sido pré-instalado em cerca de 200 milhões de dispositivos.

Com o Flash Lite, você pode criar jogos, aplicações conectadas, e utilizar muitas das funções disponibilizadas pelo telefone tais como enviar uma mensagem de texto (SMS) ou efetuar uma ligação telefônica. Uma aplicação Flash Lite também pode acessar algumas propriedades do dispositivo, como nível de carga da bateria e nível de sinal da conexão de rede.

Fazendo-se uma analogia com um filme, uma aplicação Flash é composta de animações interativas baseadas em frames colocados em uma linha de tempo (timeline). A diferença entre filmes e animações Flash é que uma animação Flash pode saltar de um frame para outro, tais frames não sendo necessariamente adjacentes em uma linha de tempo. Adicionalmente, animações Flash Lite podem conter outras animações como objetos, e também criar novos objetos em tempo de execução.

Além das animações criadas diretamente com a ferramenta de desenho do Flash (Flash Lite Professional 8 sendo a mais comum), a versão 2.0 permite a criação de animações utilizando-se codificação na linguagem ActionScript, que é a linguagem padrão tanto da versão desktop do Flash quanto da versão móvel.

Neste artigo, mostraremos como criar um jogo simples no qual o objetivo é pegar maçãs caindo de uma árvore, utilizando um prato, que pode ser movido para os lados utilizando-se o botão direcional do aparelho. O jogo em si não é muito desafiador, mas nos dará uma boa idéia de como criar uma aplicação utilizando Flash Lite.

Para completar este artigo é necessário o uso de alguma ferramenta compatível com a tecnologia Flash. Neste exemplo, será utilizado o Flash Professional 8 (ver mais detalhes sobre esta ferramenta na seção “Iniciando o desenvolvimento”. Os gráficos são fornecidos juntamente com a aplicação, não sendo necessário acesso a uma ferramenta de desenho gráfico. Para testar o jogo durante o desenvolvimento, você pode usar um dos muitos simuladores disponíveis no Flash Professional 8. Após a finalização, é importante testar o jogo em um dispositivo móvel real, que deverá ser um aparelho com suporte ao Flash Lite, pelo menos na versão 1.1, como por exemplo qualquer telefone Nokia S60 3rd. Edition (N80, 3250, E61, etc.) ou Series 40 3rd. Edition Feature Pack 1 (5300, 5200).

Diferenças de capacidade entre versões do Flash Lite

Antes de iniciarmos, iremos mencionar as diferenças mais marcantes entre as versões do Flash Lite. A Tabela 1 seguinte mostra as diferenças entre o Flash Lite 1.1 e o 2.0.

Tabela 1. Diferenças entre Flash Lite 1.1 e 2.0.
Características comparadas Flash Lite 1.1 Flash Lite 2
Baseado em Flash 4 (ActionScript pre-1.0) Flash 7 (ActionScript 2.0)


Suporte a video Não Sim
Suporte a download de dados Sim (texto, pares nome-valor) Sim (XML e texto)


Suporte a download de imagens Sim (dentro de um arquivo .swf) Sim
Gravação de dados no dispositivo Não Sim
Tipos de aplicação Aplicações stand-alone, papéis de parede, screen savers (dependendo do dispositivo) Aplicações stand-alone, papéis de parede, screen savers (dependendo do dispositivo)
Plataforma Nokia S60 2nd Edition, 3rd Edition, Nokia Series 40 3rd Edition Feature Pack 1 Nokia S60 3rd Edition Feature Pack 2, Nokia Series 40 3rd. Edition Feature Pack 2
Para mais detalhes sobre as plataformas suportadas, visite http://www.adobe.com/devnet/devices/nokia.html


Além das diferenças citadas, existem várias diferenças de código devido às diferentes versões do ActionScript. Uma visão geral das diferenças pode ser encontrada no livro “Flash Applications for Mobile Devices”, dos autores Leggett, de Boer, e Janousek.

Por exemplo, vetores não suportados pela versão 1.1 embora seja possível emular seu funcionamento utilizando-se a função eval(). Algumas propriedades de certos objetos precisam ser acessadas de maneiras diferentes entre as versões do Flash Lite. Além disso, a manipulação de eventos de teclado funciona de forma distinta nas duas versões: com a 1.1, você necessita ter um botão que capture os eventos de pressionamento dos botões; já com a 2.0, você pode um mecanismo mais sofisticado, baseado na definição de um manipulador de eventos de teclado.

Como você pode ver, o player Flash Lite 1.1 tem algumas limitações importantes, como: falta de suporte ao formato XML, à gravação de dados no aparelho e ao uso de vídeo. Por essa razão, vários desenvolvedores preferem desenvolver suas aplicações tendo como alvo aparelhos com suporte ao Flash Lite 2.0. Entretanto, é necessário lembrar que a grande maioria dos dispositivos vendidos até agora possui apenas a versão 1.1, o que faz com que aplicações compatíveis com esta versão tenham um mercado potencial bem maior.

Iniciando o desenvolvimento

A ferramenta de desenvolvimento para aplicações Flash Lite é o Flash 8 Professional, que tem o custo de USD 699,00 (Outubro/2007). Entretanto, uma versão gratuita para avaliação, com duração de 30 dias, está disponível no web site da Adobe, de modo que você possa familiarizar-se com a ferramenta sem ter um gasto elevado. A ferramenta vem com o plug-in Flash Lite 1.1 embutido. O plug-in de suporte para o Flash Lite 2.0 pode ser baixado do site da Adobe, assim como novos emuladores e temas (skins) de dispositivos.


A janela de desenvolvimento do Flash 8 é um pouco diferente de outras IDEs (Integrated Development Environment). A Figura 1 mostra uma visão geral da tela e também aponta as partes mais importantes, incluindo a linha de tempo (timeline), composta de layers (ver Nota 1) e frames (ver Nota 1), painéis (incluindo a biblioteca) e o inspetor de propriedades.

Nota 1. Frames e Layers
 
Quem já utilizou algum aplicativo de edição de imagens, como Adobe Photoshop,
Corel Draw, etc. provavelmente já está familiarizado com o conceito de “layers”.
Layers são camadas invisíveis de contexto gráfico colocadas umas sobre as outras,
que podem ser usadas de forma independente, permitindo a criação de animações nas
quais os elementos de uma camada movem-se independentemente
dos elementos das outras.

Frames, no contexto do Flash Lite, são semelhantes aos quadros de um filme ou desenho animado: em cada um dos quadros, os objetos estão em uma posição ligeiramente diferente, o que permite, durante a projeção em velocidade normal (24 frames por segundo) que se tenha a ilusão de animação ao invés de vários quadros estáticos.

Figura 1. Visão geral da janela da IDE Flash 8 Professional Figura1 fl.jpg


Para iniciar o desenvolvimento de nossa aplicação, inicie um novo projeto, clicando em “Global Phones”, sob “Create from Template” na tela inicial da ferramenta Flash 8, conforme exposto na Figura 2. No diálogo que se segue, selecione a opção “Flash Lite 1 – 1 – Symbian Series 60”. Utilizaremos esta opção por ser a plataforma de smartphones que contém o maior número de dispositivos no mercado. Além disso, os dispositvos Series 60 contém tamanhos de tela maiores e com melhor resolução, o que facilitará o teste e a visualização de nossa aplicação. Pressione “Ok”. A tela resultante deve parecer-se com a que está exposta na Figura 1. O lado direto pode apresentar um conjunto de painéis um pouco diferentes, mas não há necessidade de se preocupar com isso agora.

Figura 2. Janela de criação de um novo projeto.

Ao utilizar os templates de aplicações para telefones, a ferramenta Flash automaticamente configura o tamanho da tela adequado e formata o esqueleto de código para uma aplicação móvel. Mesmo que o tamanho de tela seja definido para 176x208 (você pode ver isto no Inspetor de Propriedades – Figura 1, na parte de baixo da tela), você pode executar a mesma aplicação em dispositivos com tamanhos de tela diferentes. O player Flash Lite redimensionará os elementos automaticamente para que preencham o novo tamanho de tela definido. Para melhor visualização dos gráficos, nossa aplicação será desenvolvida para o formato de tela 240x320. Para fazer tal configuração, pressione o botão Size: 176x208 no inspetor de propriedades e mude o tamanho de tela para 240x320.

Salve a aplicação resultante com um nome de arquivo descritivo (como “apple_game.fla”). O formato “.fla” é o utilizado na fase de desenvolvimento de uma aplicação Flash Lite. Quando uma aplicação é compilada e está pronta para ser instalada em um dispositivo móvel, o formato do arquivo é o tradicional “.swf”.

Executando os emuladores

Você pode agora testar esta aplicação em branco utilizando um emulador. Durante o processo de desenvolvimento é recomendado testar a aplicação regularmente e utilizar vários emuladores diferentes (pelo menos para os telefones para os quais você está desenvolvendo). Testar uma aplicação é bem fácil, basta selecionar “Test Movie” sob o menu “Control” ou pressionar o atalho “Ctrl + Enter” em seu teclado. Você deverá ver uma tela em branco (sua aplicação ainda não contém nada) mostrada no emulador padrão da ferramenta (em nosso caso, o Nokia 7610).

Ao testar sua aplicação, a seguinte mensagem de erro será mostrada:

FTPS030: FSCommand2 FullScreen command not supported in the emulator, please 
test it on the device.

Esta mensagem é mostrada porque a ferramenta automaticamente insere o seguinte comando no primeiro frame da aplicação:

fscommand2("FullScreen", true);

Este comando é suportado apenas nos dispositivos reais, não no emulador. Por isso, não há necessidade de se preocupar com a mensagem, já que as aplicações executam em tela cheia por padrão, nos emuladores, e o comando é aceito normalmente nos aparelhos reais.

Neste ponto, você também pode editar a lista de emuladores nos quais você pretende testar sua aplicação, selecionando “Device settings...” no menu “Device emulation -> Test device”, conforme mostrado na Figura 3.

Figura 3. Configurando os emuladores. Figura3 fl.jpg


Isto provoca o aparecimento do diálogo “Device Settings” (mostrado na Figura 4), que você pode utilizar para selecionar telefones da lista disponível no lado esquerdo (“Available devices”) e adicioná-los à lista de dispositivos simulados (“Test devices”) no lado direito.

Figura 4. Adicionando o emulador Nokia N73, com resolução 240x320 Figura4 fl.jpg

Adicione algum emulador com a resolução de 240x320 (por exemplo, Nokia N73) e configure-o como emulador padrão para sua aplicação.

A partir desta janela você poderá baixar e instalar novos emuladores de dispositivos direto do site da Adobe, clicando no link “Check for new devices” no canto inferior esquerdo da caixa de diálogo. Depois que os novos emuladores estiverem instalados, você deve reiniciar a ferramenta.


Nota 2. Download de novos emuladores 
Ao clicar no link “Check for new devices”, você será levado ao site “Device
Profile Updates” (Atualizações dos perfis de dispositivos), que contém
vários pacotes de emuladores, os quais você pode baixar e instalar
localmente. O emulador do Nokia N73, usado neste tutorial, está
disponível no pacote “Mobile Device Profile Update #4”.


Importando os gráficos

Utilizar layers para organizar os elementos visuais, como: botões, campos de texto, gráficos e trechos de código ActionScript, é sempre uma boa idéia. Para este jogo, nós criaremos alguns novos layers na timeline (linha do tempo) principal (a aplicação de template já contém um layer para ActionScript e outro para o conteúdo). Para isso, clique duas vezes sobre o layer “Content” e troque seu nome para “CampoPontuação”. A seguir, crie cinco layers adicionais com os nomes: Botão, Maçãs, Prato, Árvore e Background. Os layers devem estar nesta mesma ordem, de baixo para cima (primeiro ActionScript, depois CampoPontuação, Botão, Maçãs e assim por diante). Esta ordem será usada para desenhar os layers na tela.

O próximo passo é criar alguns keyframes para o layer de ActionScript na timeline. Para isso, selecione o frame 2 no layer ActionScript e selecione a opção “Insert --> Timeline --> Keyframe”. Repita este passo com o frame 3. A diferença entre um frame e um keyframe é que o segundo permite a adição de AcrionScript e objetos, o que não é possível nos frames normais.

O último passo na edição da timeline é certificar-se de que todo o conteúdo no primeiro frame em outros layers ainda será visível durante outros frames. Selecione o frame 3 em todos os outros layers e selecione “Insert --> Timeline --> Frame”. Este procedimento garante que o código ActionScript a ser inserido nos keyframes 2 e 3 sejam executáveis e válidos em todos os outros layers.

A seguir desenharemos e importaremos os gráficos necessários à aplicação. Para isso, selecione o primeiro frame do layer “Background” e desenhe um retângulo azul-claro na tela, para representar o céu, e um pequeno retângulo verde na parte de baixo da tela para representar grama. Então, selecione o primeiro frame do layer Árvore, e selecione “File--> Import --> Import to Stage...”. Selecione o arquivo tree.ai (este arquivo está em formato gráfico vetorial do Adobe Illustrator). Use a operação “Flatten” (compressão) e certifique-se de desmarcar a opção incluir os layers invisíveis, pois dessa forma a importação removerá camadas gráficas da imagem a ser importada que não contenham nenhum desenho e comprimirá os layers restantes para otimizar o tamanho da imagem e permitir que ela seja manipulada como um único objeto. A árvore será maior do que a área da tela, portanto você deve utilizar a ferramenta Scale para redimensionar a árvore de modo que ela caiba na área de desenho. Ajuste o retângulo da grama para coordená-lo com a colocação da árvore.

O próximo passo é importar o prato usado para pegar as maçãs que caem da árvore. Selecione o primeiro frame do layer Prato, importe o gráfico “plate.ai” para a tela, e redimensione-o para um tamanho adequado. Para que possamos controlar sua posição e aparência, precisamos transforma-lo em um objeto Movie Clip, que nada mais é do que um objeto animado que possui sua própria timeline, e pode ser reutilizado em outras partes (layers e frames) de uma aplicação Flash. Para tal, clique com o botão direito sobre o gráfico e selecione “Convert to Symbol...” no menu pop-up. Defina o tipo como “Movie clip” e defina o nome do objeto como “mcPlate”. Pressione “Ok” e note como o objeto “mcPlate” é inserido na Library (biblioteca de símbolos). Renomeie a instância do símbolo Prato que está na tela para “plate” (utilizando o Inspetor de Propriedades) e posicione-o nas coordenadas (8,294). Note que as coordenadas corretas para sua aplicação podem ser um pouco diferentes, dependendo do nível de redimensionamento aplicado ao objeto gráfico importado para a aplicação.

Finalmente importaremos o gráfico para a maçã. Selecione o primeiro frame do layer Maçãs, importe o gráfico “apple.ai” para a tela e redimensione-o para um tamanho adequado. Novamente necessitamos criar um “Movie clip” para o símbolo (pelos mesmos motivos: controlar a posição e definir uma animação). Chame-o de “mcFruit” e defina o parâmetro “Registration” para o canto inferior esquerdo (isso é para facilitar o posicionamento da maçã caída no solo com a maçã que está caindo; o procedimento será detalhado mais à frente). Renomeie a instância que está na tela para “apple”. Arraste a maçã para fora da área de desenho. Sua aplicação agora deve estar semelhante à tela da Figura 5 (note como a maçã está fora da área de desenho).

Figura 5. Desenho final da aplicação com todos os gráficos importados. Figura5 fl.jpg

Escrevendo o código

Agora adicionaremos uma parte do código-fonte da aplicação. Na timeline principal, selecione o primeiro frame do layer ActionScript, clique com o botão direito e selecione “Actions”. Note que já existem algumas linhas de código neste frame. Substitua este código com o que está contido na Listagem 1. O significado das variáveis é explicado nos comentários.

Listagem 1. Definição das variáveis do jogo.

// define que a aplicação será executada em tela cheia (fullscreen)
fscommand2("FullScreen", true);
 
// define a posição do prato (0..3 significando quatro posições)
plateX=0;
 
// tempo decorrido entre a queda de duas maçãs
// para tornar o jogo mais rápido, defina um valor menor para timer
// make 15 smaller and increase 10 to increase the variation
timer=15+random(10);
 
// contador para o total de maçãs
counter=0;
 
// escore total, incrementado a cada maçã recolhida
score=0;

Agora, selecione o segundo frame do layer ActionScript. Coloque o código da Listagem 2 neste frame. Este código cria uma nova maçã em uma das quatro posições aleatórias (você talvez precise refinar o cálculo das coordenadas para se adequar ao layout da sua aplicação) após o tempo definido entre as quedas passar. O controle da animação é então passada ao próprio objeto “maçã”.

Listagem 2. Controle do posicionamento inicial da maçã.

timer++;
apple._visible = false;
if (timer == 24) {
timer = 0;
count++;
duplicateMovieClip("apple", "apple" add count, count);
appleX = random(4);
setProperty("apple" add count, _x, 20+(appleX*50));
tellTarget("apple" add count)
{
gotoAndPlay(2);
}
}

Finalmente, digite o código da Listagem 3 no terceiro frame do layer ActionScript. O propósito deste código é criar um loop infinito para executar o código do frame 2 de forma repetida.

Listagem 3. Criando um loop infinito.

gotoAndPlay(2);

A esta altura, se você testar sua aplicação no emulador, você verá maçãs aparecendo na árvore e o prato sob a mesma, mas as maçãs ainda não estão caindo e você não pode mover o prato em nenhuma direção.

Para que possamos controlar o prato, criaremos um botão invisível, que será usado para capturar o pressionamento de teclas e mover o objeto de acordo com a direção escolhida. Para isso, selecione o primeiro frame do layer Botão e selecione “Insert --> New Symbol...” Selecione o tipo “Button” e lhe dê o nome de btMoves. Desenhe um retângulo de qualquer tamanho no estado “Up” do botão. Retorne à timeline principal, clicando na opção “Scene 1” sobre a mesma. Clique no painel direito “Library” e arraste uma instância do botão btMoves para a tela (stage) mas coloque-o fora da área de desenho. Desta maneira o usuário não poderá ver ou selecionar o botão, mas o mesmo poderá ser usado para capturar o pressionamento de teclas. Clique sobre btMoves botão direito, escolha “Actions” e digite nele o código da Listagem 4.

Listagem 4. Captura do pressionamento de teclas e posicionamento do prato.

on (keyPress "<Left>") {
if (_root.plateX>0) {
_root.plateX--;
}
setProperty("plate", _x, 8+(50*_root.plateX));
}
 
on (keyPress "<Right>") {
if (_root.plateX<3) {
_root.plateX++;
}
setProperty("plate", _x, 8+(50*_root.plateX));
}

Se você tiver feito tudo corretamente até agora, você será capaz de mover o prato para a direita e a esquerda ao testar a aplicação no emulador. Você pode criar os pressionamentos de tecla tanto clicando sobre o botão direcional do emulador na direção desejada, ou usando as teclas direcionais do próprio teclado do seu computador.

O ultimo passo na timeline principal é adicionar a pontuação. Selecione o primeiro frame do layer CampoPontuação e desenhe um campo de texto (com a ferramenta Text Field) perto do topo da árvore. No inspetor de propriedades, assegure-se de que o tipo do campo é “Dynamic Text”. Isto permite que o conteúdo do campo seja modificado dinamicamente. Para fazer o campo de texto mais visível, aumente o tamanho do texto (para 20, por exemplo) e você também pode criar uma borda ao redor do mesmo. Finalmente, escreva “score” no campo “Var:”. Esta operação associa o conteúdo do campo de texto ao da variável “score”, da timeline principal.

Animando os objetos gráficos

O desafio final é criar a animação da queda da maçã e sua conseqüente colisão com o solo. Então vamos fazer isso?

Para iniciar essa programação, clique duas vezes sobre o objeto “apple” (na tela), o que abre o objeto para edição. Note que a timeline é modificada e passa a mostrar a linha do tempo do próprio objeto “apple” (sim, objetos Flash podem ter suas próprias timelines) e que a linha de título sobre a timeline mostra “mcApple” como título.

Como queremos manter o código AppleScript e os gráficos em layers separados, precisamos criar um layer adicional na timeline da maçã. Dê o nome de “ActionScript” ao layer no topo, e “Gráfico” ao segundo layer. Para criar o loop para a queda da maçã e mostrar a maçã no solo por um momento, precisamos criar alguns keyframes nesta timeline. Crie os keyframes em ambos os layers nos frames 2,3,4,7,8 e 11. A razão para a criação desses keyframes exatamente nessas posições será explicada na continuidade desta seção.

O próximo passo é inserir o código ActionScript necessário em cada um dos keyframes do layer ActionScript. Selecione o frame 1 e digite nele o código mostrado na Listagem 5. Este código inicializa a posição da coordenada Y quando da criação de um novo objeto.

Listagem 5. Inicialização da posição de uma nova maçã.

appleY=0;
stop();

A seguir, digite o código mostrado na Listagem 6 no frame 2 e o código da Listagem 7 no frame 3. Estes códigos calculam uma nova posição Y para a maçã que está caindo e passa o controle para dois frames diferentes (“sucess” e “splash”, que criaremos no próximo parágrafo) quando a maçã atinge o solo. Novamente, você necessita refinar o cálculo das coordenadas para fazer com que a maçã apareça nas posições corretas.

Listagem 6. Cálculo de novas posições para a maçã.

if (appleY<=18) {
setProperty("", _y, (120+appleY*10));
appleY++;
play();
} else {
if (_root.plateX == appleX) {
_root.score++;
gotoAndPlay("success");
} else {
gotoAndPlay("splash");
}
}

Listagem 7. Lançamento de uma nova maçã.

gotoAndPlay(2);

Selecione o frame 4 e lhe dê o nome de “success” utilizando o inspetor de propriedades. Repita o procedimento para o frame 8, com o nome “splash”. Estes são os nomes que você usou para se referir aos frames no código do frame 2 (Listagem 6). Finalmente, insira o código da Listagem 8 nos frames 7 e 11. Esta linha de código remove o objeto maçã, mantendo o chão visualmente limpo.

Listagem 8. Código para limpeza do solo da aplicação.

removeMovieClip("");

O último passo necessário para completar o jogo é criar uma animação para a maçã que não foi pega pelo prato e caiu no chão. Para isso, selecione o frame 11 do layer “Gráfico” e remova a maçã de lá. Repita o procedimento no frame 8. Dentro do frame 8, selecione a opção “File --> Import --> Import to Stage...” e selecione o arquivo “splash.ai” (uma imagem de uma maça estourada após o impacto). Redimensione os gráficos para refletir o tamanho da maçã e coloque-o próximo ao pequeno “x” que indica a posição da maçã que você acabou de remover.

Neste ponto você pode testar a aplicação no emulador. Você deve ser capaz de pegar as maçãs com o prato, o que incrementa sua pontuação. Se você perder uma maçã, ela deve cair no chão e estourar. Em ambos os casos as maçãs desaparecerão depois de um breve período de tempo. A próxima maçã começa a cair após um intervalo aleatório de tempo. A Figura 4 apresenta a aplicação em funcionamento no emulador Nokia N73.

Figura 6. Aplicação em funcionamento no emulador. Figura6 fl.jpg

Testando o jogo em um telefone real

Você também pode testar sua aplicação Flash Lite em um dispositivo real. Por exemplo, se você possui um telefone da plataforma Nokia S60, como N73, N80, 6681, N90, etc., você pode transferir o arquivo “applegame.swt” para o telefone utilizando o “File Manager” da aplicação “PC Suíte”. O local correto no qual você deve instalar o arquivo Flash Lite varia de modelo para modelo. Em dispositivos S60 3rd. Edition, você deve transferir o arquivo para a pasta /Data/Others. Em telefones S60 mais antigos o diretório correto é /Documents/Flash.

Se você possui um modelo Série 40 (6131, 5300, 5200, entre outros), não há necessidade de saber o diretório correto, pois o software do telefone instala a aplicação automaticamente no local adequado.

Conclusões

O jogo criado neste artigo é bastante simples, e há inúmeras maneiras de fazer a aplicação mais atraente para o usuário.

Adicionar código para finalizar o jogo é o próximo passo. Você pode usar um contador para o número de maçãs que caíram diretamente no chão. Este número pode ser mostrado no topo da tela, próximo à pontuação, e quando o usuário deixar cair três maçãs, por exemplo, o jogo acaba. Se você quiser dar ao usuário a opção de jogar novamente, é necessário adicionar uma nova tela, que também poderá ser usada como tela inicial da sua aplicação.

A adição de efeitos sonoros para quando a maçã cai no chão ou é pega com o prato criaria uma nova dimensão para o jogo. Os arquivos de som precisam ser importados para a biblioteca e arrastados de lá para o keyframe correspondente na timeline do objeto “apple”. Note que o suporte a som varia um pouco entre dispositivos; por exemplo, os aparelhos Nokia Série 40 suportam apenas sons em MIDI, enquanto os S60 suportam sons em MP3.

Criar um ranking de pontuação é um pouco mais complicado em Flash Lite 1.1, pois esta versão não suporta a gravação de dados localmente no aparelho. Desta forma, o ranking estaria vazio todas as vezes em que o usuário iniciasse a aplicação. Uma solução é desenhar o jogo para compatibilidade com o player Flash Lite 2.0, que permite gravação de dados locais. Outra solução é implementar um ranking cujos dados estejam armazenados em algum servidor Web. A aplicação se conectaria ao servidor e enviaria a última pontuação, e o servidor enviaria de volta o ranking de pontuação em formato texto, que pode ser lido automaticamente pelo Flash Lite.

Finalmente, à medida que sua aplicação se aproxima de um estágio onde você pode distribuí-la ou talvez até mesmo ganhar dinheiro com ela, você precisa aprender como empacotar seu jogo em Flash Lite para distribuição e como protegê-lo com DRM (Digital Rights Management).

This page was last modified on 14 May 2013, at 10:21.
386 page views in the last 30 days.