440 likes | 525 Views
Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a objetos II. Material IV-Bimestre Criação de clips em movimentos reproduzindo sons, controle de sons Uso de Bibliotecas, Criando um filme. Detecção de colisões,Criação de Aplicações.
E N D
Universidade do Vale do ParaíbaColégio Técnico Antônio Teixeira FernandesDisciplina Programação Orientada a objetos II. Material IV-Bimestre Criação de clips em movimentos reproduzindo sons, controle de sons Uso de Bibliotecas, Criando um filme.Detecção de colisões,Criação de Aplicações. e-mail : http://www1.univap.br/~wagner Prof. Responsáveis Wagner Santos C. de Jesus
Criação de Movimentos Filme(forma) Evento Programa(ActionScript) Animação
gotoAndPlay(): Método que dispara uma seqüência de quadros Ao criar quadros para uma animação basta usar o método gotoAndPlay() em um evento para disparar uma animação. Exemplo : on (press) { _root.gotoAndPlay (1); }
Animação por Interpolação Animação por interpolação em recurso do Que permite que uma figura possa ser posicionada em um local do quadro sem a necessidade ter que mudar de quadro cada posição do objeto será gravada em novo quadrado dando a simulação do movimento.
Exemplo: Interpolador movimento Basta selecionar a opção marca e realizar deslocamento da figura
Interpoladores Quadro1 Quadro2 Quadro3 Valores(quadro por segundo)
Passos para criação de animação por Interpolação • Selecionar o objeto (figura) que será interpolada. • Selecionar ponto preto na linha do tempo. • Na barra de propriedades escolha interpolação de movimentos. • Em seguida selecione a quantidade de quadros que deseja criar. • Selecione Inserir Quadros chave. • Translade a figura para o ponto desejado. • Selecione CTRL+<ENTER> (Veja a animação).
Movendo quadros prevFrame() : Move para quadro anterior. nextFrame() : Move para o próximo quadro.
Criando um filme O Flash permite que todas as aplicações de animação confeccionadas possam ser transformadas em filmes; que poderão ser reproduzidos por programas como mediaplayer ou lidos por programas escritos em linguagens de programação como Delphi, C++ e visualBasic e outras.
Criando um filme Selecione a opção indicada
Selecione o botão salvar e aguarde. Determine o nome do filme a ser criado e seu formato Avi, mov ou outros
Feitas as operações anteriores Atributos do filme normalmente podemos deixar o padrão, caso contrario altere e selecione o botão ok.
Selecione o botão ok em seguida o vídeo será criado. Essa opção permite determinar operações de compactação de vídeo ou não
Colocando som em uma aplicação Classe : Sound() permita reprodução de sons pelo AS. Exemplo da criação de um objeto Sound. Meu_som = new Sound();
Sound (Reprodução de Sons) Start() Sound() Biblioteca Arquivo(s) mp3 wav ...... Reprodução Estéreo volume
Método : attachSound() Determina o arquivo de som da biblioteca que será reproduzido. Exemplo : <objSom>.attachSound(String);
Método: setVolume() Determina a altura do volume a ser reproduzido podendo ser usado um valor de 0 a n. Exemplo : <objSom>.setVolume(<expN>);
Método:setPan() Determina em caso de estéreo se som será emitido no canal esquerdo ou direito, (-100) faz com o som seja emitido no canal esquerdo e (100) emite som apenas o canal direito caso deseje emitir no dois canais basta colocar o parâmetro (0). Exemplo : <objSom>.setPan(<expN>);
Método : stop() Para a reprodução do som. Exemplo : <objSom>.stop();
Exemplo : Sons on (press) { som = new Sound(); som.attachSound("musica"); som.setVolume(200); //som.setPan(100); som.start(); }
Método : fscommand() Permite que o filme Flash se comunique com o Flash Player ou com o programa que hospeda o Flash Player, como um navegador da Web. Você também pode usar a ação fscommand para passar mensagens para o Macromedia Director ou para o Visual Basic, Visual C++ e outros programas que possam hospedar controles ActiveX.
Movimento de figuras Transformação Geométrica Transformação vem a ser o conceito de transladar, atribuir uma escala ou rotação de uma figura.
Par ordenado (_x, _y) para tratar as coordenadas (Linha) _y _x (Coluna)
Exemplo : Translação (_x,_y) - on (press) { _root["quadrado"]._y+=10 ; } - + on (press) { _root["quadrado"]._x+=10 ; } +
Exemplo : Escala Propriedades: _xscale : altera a largura do objeto de um filme. _yscale : altera a altura do objeto de um filme.
Exemplo de escala y (Altura) x (Largura)
Exemplo prático de escala on (press) { _root["triangulo"]._xscale+= 100; _root["triangulo"]._yscale+= 100; }
Exemplo de rotação Determina a rotação para um figura usando valores positivos para sentido horário e negativo para sentido anti-horário. Exemplo : _rotation – valor deverá ser em graus.
Exemplo prático de rotação on (press) { _root["triangulo"]._rotation += 45; }
Arrastando uma figura com movimentos do mouse Ativa mouse Objeto (figura) startDrag() Movimentos stopDrag()
Métodos : startDrag() startDrag(<string>,<booleano>); String – Determina o nome do clipe que será movimentado em caso de ser o próprio não é necessário informar esse parâmetro. boolean – Determina o local liberado para arrastar uma figura. Dever ser usado true.
Métodos : stopDrag() stopDrag() – Interrompe o recurso de arrastar cancelando o método startDrag().
Exemplo prático : on (press) { startDrag("",true); } on (release) { stopDrag(); }
Operador this O operador this assim como o new são operadores reservados do AS, o this permite realizar a referência quando estamos falando do próprio objeto. Exemplo : _root["quadro2"]._xscale = 200; this._xscale = 200; Obs: Não precisa fazer referência ao nome do objeto inteiro.
Propriedade : _xmouse e _ymouse Essas propriedades permitem capturar a posição das coordenadas (x,y); coluna e linha onde o mouse foi passado. Exemplo: trace(_root._xmouse); trace(_root._ymouse);
Arrastando uma figura usando o evento onClipEvent() onClipEvent (enterFrame) { if(drag) { this._x = _root._xmouse; this._y = _root._ymouse; } }
Usando variável drag. on (press) { drag = true; // pressionar } on (release) { drag = false; // Soltar }
Detecção de colisões Pelas leis da física dois corpos não podem ocupar o mesmo lugar em um espaço; quando esse fenômeno eventualmente ocorre chamamos colisão. Para simularmos computacionalmente a colisão de dois objetos devemos calcular se suas posições em algum ponto são iguais p(x,y) ou os pontos das extremidades dos objeto.
Para realizarmos o teste de uma colisão em AS, devemos usar o método hitTest. Sintaxe : this.hitTest(x,y,booleano); x – posição horizontal y – posição vertical booleano – formato exato do objeto (true) ou a área retangular do mesmo(false).
Diagrama de colisão hitTest (posição do mouse) Objeto this.hitTest (objeto)
Exemplo teste colisão com mouse onClipEvent (enterFrame) { if(this.hitTest(_root._xmouse,_root._ymouse,true)) { this._x = int(Math.random()*550); this._y = int(Math.random()*400); } }
Exemplo teste colisão entre objetos onClipEvent (enterFrame) { if(_root["q2"].hitTest(_root["q1"])) { _root.gotoAndPlay(2); }else _root["q1"]._x+=5; }