Produção

From LABMM1_IDE

Jump to: navigation, search

Neste tópico do relatório vai ser apresentada a produção das várias partes da aplicação, explicando inicialmente o modo de funcionamento e navegação na aplicação, seguindo depois para os elementos/objectos da aplicação e por fim, uma pequena conclusão do tópico onde se irá discutir as soluções apresentadas para a resolução dos problemas.



Estrutura e meios de navegação/interacção



Vão ser então apresentados os vários ecrãs: Intro, Menu, Jogo, Game Over, Ganhou, Sair, Créditos e Extras. Irá ser explicada toda a navegação/interacção possível, bem como alguns excertos de código mais relevantes.



Integração e controlo de som



A aplicação é composta por 4 sons: a música de fundo, a música para quando o utilizador ganha o jogo, a música para quando o utilizador perde o jogo e o som ao clicar nos vários botões. Em baixo vai então ser explicada a integração e o controlo dos vários sons.


Integração do som


A integração do som foi feita através da importação dos vários sons para a library. Nesta foi feito o linkage para cada um dos mesmos, a fim de os poder programar. Uma vez dado nome às várias novas classes, passou-se então para a programação do controlo dos sons.


Controlo de som


Em relação ao som de fundo, este vai estar automaticamente a tocar, assim que a sua importação terminar. Também o seu volume é colocado a 100, uma vez que o volume da própria música é bastante baixo.


var som:Sound = new Sound();

som.attachSound("musica_fundo");

som.setVolume(100);

som.start();

som.onSoundComplete = function(){

som.start();

}


Também o som dos botões é importado e tratado da mesma maneira. A este é feito o play sempre que o utilizador clique num dos botões.


creditos_btn.onPress = function(){

som2.start();

...


Ao longo da aplicação vão estar sempre presentes os botões de controlo de som on e off. Ao clicar no botão off este vai guardar a posição do som, numa variável denominada por. Ao clicar no botão on, o som vai tocar a partir desse ponto. Caso o som já esteja a tocar quando o utilizador carregar no botão on, vai ser guardada uma nova posição do som e vai começar a tocar a partir desse ponto.


off_btn.onPress = function (){

som2.start();

som.stop("musica_fundo");

pos = som.position/1000;

}

on_btn.onPress = function (){

aux = true;

som2.start();

pos2 = som.position/1000;

if(aux == true){

som.stop("musica_fundo");

som.start(pos2);

}

else

som.start(pos);

}

Este controlo é utilizado tanto para o som de fundo, como para os sons ganhou e game over nos respectivos ecrãs.


Som wifi.png



Animação



Ao longo de toda aplicação são visíveis várias animações, criadas através de movieclips, shapetweens e motiontweens.


Animação inicial


A animação inicial, trata-se de uma pequena apresentação e introdução à aplicação, a fim do utilizador poder compreender que tema a aplicação vai abordar.

A animação é composta pela mascote da aplicação, Wi-Phi que, através do balão de fala, explica ao utilizador em que consiste a aplicação.

Primeiro é feita uma animação da entrada do wi-phi. Esta é uma animação keyframe, que utiliza um motionTween e uma guide.

De seguida é feita uma animação tanto do “sinal wireless” do wi-phi como do balão de fala. Esta animação é uma animação keyframe, utilizando um shapeTween. A animação do balão de fala é uma simples animação keyframe e por fim, a animação da entrada para o menu é um tween de alpha.


Intro wifi.png


Animação ecrã história


No ecrã história, ao clicar nas datas, decorre uma pequena animação. Esta é uma animação keyframe, com utilização de um shapeTween e de uma mask, a fim de apenas revelar uma pequena parte da linha.


Mask wifi.png


Animação botões


Em todos os botões da aplicação, existe uma animação de mudança de cor, aquando o evento do tipo mouseOver.


Animação instruções


No ecrã instruções existem duas pequenas animações.

Caso o utilizador escolha, em opções, jogar com as teclas, vai visualizar uma demonstração de como jogar com as teclas. Esta animação é keyframe, com shapeTween.

Caso o utilizador escolha jogar com o rato, vai então visualizar uma demonstração. A animação do sinal wi-fi é uma animação keyframe com shapeTween, a animação do rato é uma animação keyframe e por fim, a animação da mão é uma animação keyframe com motionTween.


Instr teclas wifi.png


Instr teclas wifi.png


Animação extras


No ecrã extras está presente uma animação de uma bola que se transforma num quadrado. Esta animação é keyframe com shapeTween e tween de cor.


Bolinhas wifi.png



Soluções técnicas adoptadas para a resolução de problemas



Ao longo do desenvolvimento da aplicação, surgiram alguns problemas na programação.


Existiram alguns problemas relacionados com o botão on do som, uma vez que ao clicar no mesmo os sons estavam-se a sobrepor, estando o som de fundo a ser repetido. Como resolução a este problema, criou-se uma variável auxiliar “aux” e uma nova variável para guardar a posição do som “pos2”. Através destas foi possível por o som a tocar apenas se não estivesse a tocar, parando o som que estivesse a tocar e recomeçando na nova posição.


on_btn.onPress = function (){

aux = true;

som2.start();

pos2 = som.position/1000;

if(aux == true){

som.stop("musica_fundo");

som.start(pos2);

}

else

som.start(pos); }


Outro problema que ocorreu foi em relação a uma conversão de um valor de Number para inteiro, uma vez que encontrar o método que o permitisse foi bastante complicado.


temp_txt.text = 60 - parseInt(seconds);

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox