Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a objetos II. Material I-Bimestre Introdução ao ambiente Flash e a Programação em ActionScript(AS). Formato de Arquivo de um projeto criado em Flash,Criação de campos de entrada e saída, Trabalhando no modo especialista,Criação de variáveis em AS, Operadores de Atribuição, Operadores Aritméticos, Operadores Relacionais, Operadores Lógicos, Evento principal, Usando Lógica de programação em AS. e-mail : http://www1.univap.br/~wagner Prof. Responsáveis Wagner Santos C. de Jesus Vem a ser um ambiente criado pela empresa de software Macromedia, para a criação, manipulação e construção de animações de desenhos vetoriais. 2 Imagens vetoriais Imagem vetorial é um tipo de imagem gerada a partir de descrições geométricas de formas, diferente das imagens chamadas mapa de bits, que são geradas a partir de pontos minúsculos diferenciados por suas cores. Uma imagem vetorial normalmente é composta por curvas, elipses, polígonos, texto, entre outros elementos, isto é, utilizam vetores matemáticos para sua descrição. Em um trecho de desenho sólido, de uma cor apenas, um programa vetorial apenas repete o padrão, não tendo que armazenar dados para cada pixel. 3 Exemplo de desenho vetorial e mapa de bits Imagem de mapa de Bits Imagem Vetorial 4 Curva de Bézier Desenvolvida 1962 - Pierre Bézier (Renault) A curva de Bézier é uma curva polinomial expressa como a interpolação linear entre alguns pontos representativos, chamados de pontos de controle. É uma curva utilizada em diversas aplicações gráficas como o Gimp, e CorelDRAW, e formatos de imagem vetorial como o SVG. Esse tipo de curva também é bastante utilizada em modelagem tridimensional e animações. 5 Exemplo de Imagem Vetorial 6 Um ponto na curva correspondente a t é dado por: onde t Є [0,1] 0,018 0,016 0,014 0,012 0,01 0,008 0,006 0,004 0,002 0 1 2 3 4 5 6 7 8 9 10 11 7 ActionScript(AS) É uma linguagem de programação especifica que permite com que se escreva programas que realizam tarefas em ambiente FLASH. A linguagem AS é totalmente baseada na estrutura JavaScript; Porém não sendo possível nenhuma ligação prática entre essas duas ferramentas de programação. 8 Aplicação ActionScript é uma linguagem de programação baseada em ECMAScript, usada para controlar filmes e aplicações do Macromedia Flash. Visto que o Java Script e ActionScript são baseados na mesma sintaxe do ECMAScript, ambos são traduzidos de um para outro facilmente. Contudo, o modelo de cliente é diferente: enquanto o JavaScript trabalha com janelas, documentos e formulários, o ActionScript trabalha com movie-clips, campos de texto e som. ECMA (European Computer Manufacturers Association) Fundada em 1961 9 No inicio dos anos 2000 veio a mercado, o Flash 2, possuía poucos recursos de programação disponíveis. Já no Flash 3, aplicações diferenciadas eram obtidas através da integração do Flash + JavaScript. Quando chegou ao mercado, o Flash 4 apresentou uma quantidade maior de scripts, mas não era ainda propriamente o consagrado ActionScript, as ações do Flash eram simplesmente chamadas de Actions. 10 Características ActionScript • • • • • • • • Interpretada; Não possui exigência de tipos; Poderosa na Manipulação de Arrays(vetores); Sintaxe similar ao padrão (C++),JavaScript e PHP. Modular e estruturada; Totalmente dependente da plataforma; Poderosa para desenvolvimento de animações; Objetos nativos 11 O FLASH 5 trouxe o conceito de ActionScript, mas somente na versão MX é que se consagrou como linguagem de programação AS. Programa Aplicativo FLASH ActionScript Interpretador Script´s 12 Formato de arquivo do Flash Flash Browser internet ou Sistema operacional Aplicação Fla Plugin Gera arquivo de Fluxo de trabalho Gera arquivo (Shockwave Flash File) ActionScript - embutido Shockwave – Onda de choque swf 13 Classificação do ActionScript Baixo Nível Médio Nível Alto Nível Linguagens de Script Linguagem Assembler Linguagem C++ Linguagem Java ActionScript 14 Conceito O ActionScript é a linguagem de criação de scripts, que permitem controlar objetos em filmes do Flash, aumentando o potencial deste aplicativo. 15 Ambiente de criação de cenas em FLASH 16 Camadas (Layers) Propriedades (Property) Caixa de ferramentas (tools) Palco (Stage) Ações (Action) Linha de tempo(Timeline) 17 Barra de Ferramentas 18 Barra de Componentes Caixa de verificação Caixa de Lista Caixa de combinação Botão de Rádio Botão de comandos Painel de Rolagem Barra de rolagem 19 Estrutura geral de um programa em ActionScript • Atribuição • Condição • Repetição ( = ) ( if ) ( for/while) 20 Atenção Em ActionScript as instruções devem ser escritas em letras minúsculas. Portando cuidado !!! 21 Tipos de dados • • • • Números Strings Booleanos Objetos e clipes de filmes 22 Observação Em ActionScript as variáveis não são tipadas, isso agiliza o processo de codificação de programas porem o programador deve ter cuidado com esse artifício. 23 Criando variáveis Sintaxe de criação de variáveis : <nome_variavel> = <valor da variavel>; <nome_variavel> = <String>; <nome_variavel> = <Objeto>; <nome_variavel> = <Clipe de filme>; 24 Exemplo de atribuição valor = 123; // Inteiro numero = 456.45; // ---------------------- Sring ------------------nome = “Maria da Silva”; cidade = “São José dos Campos”; // ---------------------- Objeto -----------------Data = new Date(2007,02,12); 25 Operadores Aritméticos + * / % ++ -- Adição Subtração Multiplicação Divisão Resto da divisão Incrementa Decrementa 26 Diagrama blocos Atribuição valor = 1; .......... 27 Tipo de atribuição a++; b--; c*=3; c/=3; k% = a; => a = a + 1; => b = b – 1; => c = c * 3; => c = c / 3; => k = k % a; // incrementa 1 // decrementa 1 // Multiplica por 3 // Divide por 3 // Resto da divisão 28 Diagrama de blocos if() Uma única linha após if() e else Condição V Instrução-1 Varias linhas após if() e else F Instrução-2 Condição V Bloco-1 Instruções ............. F Bloco-2 Instruções ............. 29 Condição : if() Sintaxe : if(<condição>) <Instrução-1>; else <Instrução-2>; if(<condição>) { <Bloco-1>; } else { <Bloco-2>; } 30 Operadores Relacionais > - Maior que < - Menor que >= - Maior ou igual <= - Menor ou igual == - Igual a != - Diferente de 31 Operadores Lógicos && And (E) | | Or (Ou) ! Not (Não) 32 Exemplo prático de condição curso = “Informatica”; if(curso == “Informatica”) lab = “Laboratório – 3”; if(curso == “Patologia”) lab = “Laboratório – 4”; ..... 33 Exemplo-2 saldo = 120.68; saldonegativo = 0; if(saldo > 0) mostra = saldo; else mostra = saldonegativo; ........ 34 Exemplo-3 nota = 5.1; if(nota >= 6 || (nota > 5 && nota < 6)) resultado = "Aprovado"; else resultado = "Recuperação"; .......... 35 Exemplo-4 nota = 5.1; if(nota > 5 && nota < 6) resultado = "Aprovado na casca !!!"; aviso = "Estudar mais ...."; } ........... 36 Exemplo - 5 idade = 20; if( !(idade > 18) ) { resultado = “Não pode ter, Carta de motorista”; } else { resultado = “Apresentar Carta de motorista”; } 37 Estruturas de repetição Em AS, estruturas de repetição também são condicionadas portando devemos usar as estrutura determinando uma condição para finalização desta repetição. 38 Saída de dados em modo teste No momento em que precisamos exibir as informações de saída de um processamento (resultado) podemos usar a instrução trace(); porem essa instrução somente irá funcionar em modo de teste ou seja dentro do ambiente Flash. Sintaxe : trace(<String>|<valores>); trace(“Oi poderosas !!!”); 39 Diagrama de Blocos for() Repete (Instrução) até que o intervalo a,b seja satisfeito k de a até b k de a até b Instrução Bloco Instruções ........... k Repete (Bloco Instrução) até que o intervalo a,b seja satisfeito 40 Exemplo-1 for(i=1;i<=10;i++) trace(i); Esse programa realiza a contagem de um a dez. 41 Exemplo-2 for(i=10;i>=1;i--) trace(i); Esse programa realiza a contagem de dez a um. 42 Exemplo-3 for(j=100;j<=320;j++) { if(j%2==0 || j%3==0) trace(j); } Esse exemplo determina os valores múltiplos de 2 ou 3 entre 100 e 320 43 Diagrama de Blocos while() Estrutura simples F Estrutura composta Condição F V Instrução Condição V Bloco Instruções Bloco Instruções Condição F V Estrutura onde o bloco de instruções será executado pelo menos uma vez. 44 Estrutura de repetição while() Sintaxe : while(<condição>) do { <instrução>; <bloco Instrução>; Ou while(<condição>) while(<condição>) { <Bloco de Instrução>; } 45 Exemplo-1 a = 1; while(a <= 10) { trace(a); a++; } ...... 46 Exemplo-2 a = 1; while(a<=10) trace(a++); .......... 47 Exemplo-3 i = 100; do { trace(i); i++; }while(i<=10) .................. 48 Criando um evento para aplicação em AS – Modo Especialista Objeto (Botão) Controle on() Evento press Execução Controle Programa 49 Exemplo sintaxe para evento (press) on (press) { …….. } Para criar uma aplicação básica basta criar o evento on( ) com o parâmetro press associado a um botão. 50 Exemplo prático : on (press) { valor = 1; while(valor <= 5) valor++; trace(valor); } 51 _root (propriedade) Essa propriedade faz referência a raiz ou seja ao objeto ou clip acima do palco que foi executado. 52 Exemplo prático : on (press) { i=5; trace(i*_root.numero); } 53 Exercício proposto - Elaborar um programa que calcule a tabuada de qualquer número positivo diferente de zero dado pelo teclado. 54