action script 3_0

58
ActionScript 3 Claiton Luis Perin

Upload: fernando-pinho

Post on 21-Oct-2015

57 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Action Script 3_0

ActionScript 3

Claiton Luis Perin

Page 2: Action Script 3_0

Objetivos

– Introdução ActionScript 3

Page 3: Action Script 3_0

Introdução

• O ActionScript é a linguagem de programação dos ambientes de tempo de execução Adobe Flash Player e Adobe AIR. Ele permite interatividade, manipulação de dados e muito mais no conteúdo e nos aplicativos do Flash, Flex e AIR.

O ActionScript é executado com a AVM (ActionScript Virtual Machine), que faz parte do Flash Player e do AIR.

Page 4: Action Script 3_0

Introdução

O ActionScript 3.0 oferece um modelo de programação robusto que parecerá familiar aos desenvolvedores com um conhecimento básico de programação orientada a objetos.

Criado para facilitar a criação de aplicativos altamente complexos com grandes conjuntos de dados e bases de código reutilizáveis orientadas a objetos.

Page 5: Action Script 3_0

Introdução

• Abaixo alguns dos principais recursos do ActionScript 3.0 que foram aprimorados em relação à versão anterior :

– Uma nova ActionScript Virtual Machine, chamada AVM2, que usa um novo conjunto de instruções de código de bytes que apresenta melhoria significativa no desempenho.

– Uma base de código de compilador moderna que executa otimizações mais avançadas do que as versões anteriores do compilador.

Page 6: Action Script 3_0

MXML

• O MXML é uma linguagem de marcação declarativa usada para criar a interface de usuário e definir a relação entre os componentes desta interface em Flex. Baseada em XML, esta linguagem é de fácil entendimento e manuseio, principalmente para quem já conhece XML e HTML.

Page 7: Action Script 3_0

XML NAMESPACE

• Tendo sido inserido o xmlns (XML namespace) para indicar o uso de componentes de interface temos acesso a centenas de objetos para interface padrão do Flex.

• Em um MXML são usados diversos componentes, cada um destes componentes foi criado pela Adobe usando a linguagem ActionScript e conceitos de Orientação a Objetos.

Page 8: Action Script 3_0

XML NAMESPACE

Page 9: Action Script 3_0

Introdução

– Uma API (Interface de programação de aplicativo) expandida e aprimorada, com controle de baixo nível de objetos e um autêntico modelo orientado a objetos.

– Uma API XML baseada na especificação de linguagem ECMAScript para XML (E4X) (ECMA-357 edição 2) E4X é a extensão de linguagem para ECMAScript que adiciona XML como um tipo de dados nativo da linguagem.

– Um modelo de evento baseado na Especificação de eventos DOM (Document Object Model) nível 3.

– API do Flash Player melhorada que fornece mais controle sobre objetos de baixo nível.

Page 10: Action Script 3_0

Sintaxe

• Diferenciação entre maiúsculas e minúsculas– O ActionScript 3.0 é uma linguagem que diferencia

maiúsculas e minúsculas. Os identificadores que diferem somente em maiúsculas e minúsculas são considerados identificadores diferentes. Por exemplo, o código a seguir cria duas variáveis diferentes:

• var num1:int;

• var Num1:int;

Page 11: Action Script 3_0

Sintaxe

• Ponto-e-vírgula– Você pode usar o caractere ponto-e-vírgula (;) para encerrar

uma instrução. Opcionalmente, se omitir o caractere ponto-e-vírgula, o compilador presumirá que cada linha de código representa uma única instrução. Como muitos programadores estão acostumados a usar o ponto-e-vírgula para denotar o fim de uma instrução, seu código poderá ser mais fácil de ler se você usar consistentemente ponto-e-vírgula para encerrar as instruções.

– O uso de um ponto-e-vírgula para encerrar uma instrução permite colocar mais de uma instrução em uma única linha, mas isso pode tornar o código mais difícil de ler.

Page 12: Action Script 3_0

Exceções de tempo de execução

• O ActionScript 3.0 relata mais condições de erros que suas versões anteriores. As exceções de tempo de execução são usadas para condições de erro comuns.

• Melhora a experiência de depuração e permitir o desenvolvimento de aplicativos que manipulam erros de forma robusta. Os erros de tempo de execução fornecem rastreamentos de pilha anotados com informações sobre o arquivo de origem e o número de linha, ajudando a detectar os erros rapidamente.

Page 13: Action Script 3_0

Variáveis e constantes

• No ActionScript 3.0, uma variável consiste em quatro partes diferentes:

– Modificador de acesso– Identificador – Tipo – Valor

[modificador de acesso] var <identificador>:<Tipo> [= <valor>];

Page 14: Action Script 3_0

Variáveis e constantes

• Modificador de acesso: Elemento opcional que indica o tipo de acesso que será dado a variável recém declarada, maiores detalhes podem ser encontrados no tópico Tipos de acesso. Se nenhum valor for colocado default será assumido.

• Identificador: Define o nome da variável/objeto, maiores detalhes sobre como definir um nome pode ser encontrado no tópico Identificadores

Page 15: Action Script 3_0

Variáveis e constantes

• Tipo: Define o tipo que será usado para armazenar os dados, por se tratar de uma linguagem orientada a objetos o tipo pode vir a ser qualquer classe definida pela Adobe ou pelo Desenvolvedor.

• Valor: Representa um elemento opcional que indica como a variável será inicializada.

• private var contador:Number = 0;

Page 16: Action Script 3_0

Variáveis e constantes

• Uma constante é muito semelhante a uma variável no sentido de que é um nome que representa um valor na memória do computador, com um tipo de dados específico. A diferença é que um valor só pode ser atribuído a uma constante uma única vez no processamento do aplicativo do ActionScript. Assim que é atribuído, o valor da constante é o mesmo em todo o aplicativo. A sintaxe para declarar uma constante é a mesma que para declarar uma variável, exceto que você usa a palavra-chave const em vez da palavra-chave var:

Page 17: Action Script 3_0

Variáveis e constantes

EXERC1

Page 18: Action Script 3_0

Comentários

• Os comentários de código são uma ferramenta que você pode usar para escrever um texto que o computador deve ignorar no seu código.

O ActionScript inclui dois tipos de comentários:

– Comentário de uma linha: um comentário de uma linha é criado colocando duas barras em qualquer lugar de uma linha. Tudo que vier depois das barras até o fim da linha será ignorado pelo computador:

• // This is a comment; it's ignored by the computer.

• var age:Number = 10; // Set the age to 10 by default.

Page 19: Action Script 3_0

Comentários

– Comentário de várias linhas: um comentário de várias linhas inclui um marcador de comentário inicial (/*), o conteúdo do comentário e um marcador de comentário final (*/). Tudo entre os marcadores inicial e final é ignorado pelo computador, independentemente do número de linhas que o comentário contém:

/*This might be a really long description, perhaps describing what a particular function is used for or explaining a section of code. In any case, these lines are all ignored by the computer.

*/

Page 20: Action Script 3_0

Tipos de Dados

• No ActionScript, há vários tipos de dados que podemos usar. Alguns deles podem ser entendidos como "simples" ou "fundamentais“:– Seqüência de caracteres: um valor textual, como um nome

ou um texto.– Numérico: O ActionScript 3.0 inclui três tipos de dados

específicos para dados numéricos:• Número: qualquer valor numérico, incluindo valores com ou sem uma

fração.

• int: um inteiro (um número inteiro sem uma fração).

• uint: um inteiro "sem sinal", que significa um número inteiro que não pode ser negativo.

– Booleano: um valor do tipo verdadeiro ou falso, tal como se uma opção está ativa ou se dois valores são iguais

Page 21: Action Script 3_0

Tipos de Dados

• Os tipos de dados simples representam uma única informação: por exemplo, um único número ou uma única seqüência de texto. Entretanto, a maioria dos tipos de dados definidos no ActionScript poderia ser descrita como tipos de dados complexos, porque representam um conjunto de valores agrupados. Por exemplo, uma variável com o tipo de dados Date representa um valor único: um momento no tempo. No entanto, esse valor de data na verdade é representado com diversos valores: dia, mês, ano, horas, minutos, segundos etc., que são todos números individuais.

Page 22: Action Script 3_0

Tipos de Dados

• Portanto, embora pensemos em uma data como um valor único (e a tratemos dessa forma, criando uma variável Date), internamente, o computador a entende como um grupo de diversos valores que, juntos, definem uma única data.

Page 23: Action Script 3_0

Tipos de Dados

• A maior parte dos tipos de dados disponibilizados pelo Flex e criados pelos programadores são complexos, pois agrupam um conjunto de dados. Faz parte deste conjunto, por exemplo:

– TextField: um campo dinâmico para entrada de dados .– Date: informação sobre um momento no tempo (uma data e

hora).

• Note que qualquer classe criada pelo programador torna-se um tipo de dado que pode ser usado no momento de criar uma nova variável.

Page 24: Action Script 3_0

Operadores

• Os operadores são funções especiais que usam um ou mais operandos e retornam um valor.– var sumNumber:uint = 2 + 3 * 4; // uint = 14

• Operadores unários usam um operando.var xNum:Number = 0;++xNum); // 1

Page 25: Action Script 3_0

Operadores unários

Page 26: Action Script 3_0

Operadores multiplicativos

Page 27: Action Script 3_0

Operadores aditivos

Page 28: Action Script 3_0

Operadores relacionais

Page 29: Action Script 3_0

Operadores de igualdade

Page 30: Action Script 3_0

Operadores lógicos

Page 31: Action Script 3_0

Condicionais

• O ActionScript 3.0 fornece três instruções condicionais básicas que você pode usar para controlar o fluxo de programa.

Page 32: Action Script 3_0

Condicionais

• if..else

• Se não quiser executar um bloco de código alternativo, você poderá usar a instrução if sem a instrução else.

Page 33: Action Script 3_0

Condicionais

• if..else if

• Se não quiser executar um bloco de código alternativo, você poderá usar a instrução if sem a instrução else.

Page 34: Action Script 3_0

Condicionais

• Se uma instrução if ou else for seguida de apenas uma instrução, a instrução não precisa ficar entre chaves. Por exemplo, o código a seguir não usa chaves:

• Entretanto, a Adobe recomenda que você sempre use chaves, porque poderá ocorrer um comportamento inesperado se instruções forem adicionadas posteriormente a uma instrução condicional sem chaves. Por exemplo, no código a seguir, o valor positiveNums é aumentado em 1 quer a condição seja ou não avaliada como true:

Page 35: Action Script 3_0

Condicionais

Page 36: Action Script 3_0

Condicionais

• Switch: A instrução switch será útil se você tiver vários caminhos de execução que dependam da mesma expressão de condição. Ela fornece uma funcionalidade semelhante a uma longa série de instruções if..else if, mas é mais fácil de ler. Em vez de testar uma condição quanto a um valor booleano, a instrução switch avalia uma expressão e usa o resultado para determinar qual bloco de código será executado. Os blocos de código começam com uma instrução case e terminam com uma instrução break. Por exemplo, a seguinte instrução switch imprime o dia da semana, com base no número de dias retornado pelo método Date.getDay():

Page 37: Action Script 3_0

Condicionais

Page 38: Action Script 3_0

Repetição

• As instruções de repetição permitem executar um bloco específico de código repetidamente usando uma série de valores ou variáveis. A Adobe recomenda que o bloco de código seja sempre colocado entre chaves ({}). Embora seja possível omitir as chaves caso o bloco de código contenha apenas uma instrução, essa prática não é recomendada pelo mesmo motivo que para as condicionais.

Page 39: Action Script 3_0

Repetição

• for: Você deve fornecer três expressões em uma instrução for: – uma variável que é definida com um valor inicial– uma instrução condicional que determina quando a repetição

termina – uma expressão que altera o valor da variável a cada

repetição.

Page 40: Action Script 3_0

Repetição

• for..in: A repetição for..in itera por meio das propriedades de um objeto ou dos elementos de uma matriz. Os objetos não são mantidos em uma ordem específica, por isso elas podem aparecer em uma ordem aparentemente aleatória.

Page 41: Action Script 3_0

Repetição

• for each..in: Atua sobre os itens de um conjunto, que podem ser tags em um objeto XML ou XMLList, os valores mantidos pelas propriedades do objeto ou os elementos de uma matriz.

Page 42: Action Script 3_0

Repetição

• while: É como uma instrução if que é repetida desde que a condição seja true.

• Uma desvantagem do uso de uma repetição while em vez de for é que repetições infinitas são mais fáceis de escrever com repetições while.

Page 43: Action Script 3_0

Repetição

• do..while: É uma repetição while que garante que o bloco de código seja executado pelo menos uma vez, porque a condição é verificada depois que o bloco é executado.

Page 44: Action Script 3_0

Funções

• As funções são blocos de código que executam tarefas específicas e podem ser reutilizados no seu programa.

• Uma função é chamada usando seu identificador seguido de um operador parênteses (()).– trace("Use trace to help debug your script");

• Por exemplo, você pode usar o método Math.random(), que não usa nenhum parâmetro, para gerar um número aleatório:– var randomNum:Number = Math.random();

Page 45: Action Script 3_0

Funções

• Instruções de função: A instrução de função é a técnica preferida para definir funções. Uma instrução de função começa com a palavra-chave function e, em seguida, vem:– O nome da função– Os parâmetros, em uma lista delimitada por vírgula e entre

parênteses– O corpo da função, ou seja, o código do ActionScript a ser

executado quando a função é chamada, delimitado por chaves

– Tipo de dados retornado

Page 46: Action Script 3_0

Funções

Page 47: Action Script 3_0

Funções

• Funções aninhadas: É possível aninhar funções, o que significa que as funções podem ser declaradas dentro de outras. Uma função aninhada está disponível apenas dentro da função pai.

Por exemplo, o seguinte código declara duas funções aninhadas dentro da função getNameAndVersion():

Page 48: Action Script 3_0

Funções

Page 49: Action Script 3_0

Funções

• Parâmetros de função: O ActionScript 3.0 fornece algumas funcionalidades para parâmetros de função que podem parecer novas aos programadores que não conhecem a linguagem.

Page 50: Action Script 3_0

Funções

Page 51: Action Script 3_0

Funções

• O parâmetro objParam referencia o mesmo objeto que a variável global objVar. Como você pode ver nas instruções trace do exemplo, as alterações nas propriedades x e y do objeto objParam são refletidas no objeto objVar.

Page 52: Action Script 3_0

Funções

• Valores de parâmetro padrão: Nova no ActionScript 3.0 é a capacidade de declarar valores de parâmetro padrão para uma função.

Page 53: Action Script 3_0

Funções

• Retorno de valores de funções: Para retornar um valor de sua função, use a instrução return seguida pela expressão ou pelo valor literal que deseja retornar. Por exemplo, o seguinte código retorna uma expressão representando o parâmetro:

Page 54: Action Script 3_0

Exercícios

• Tabuada– Crie um programa em Flex com o LayOut sugerido no

próximo slide.– Crie três funções distintas capazes de gerar a tabuada de

um determinado número informado pelo usuário. – As funções devem utilizar os três métodos de repetição

apresentados neste curso.– Altere o programa cria.do para utilizar funções aninhadas

Page 55: Action Script 3_0

Funções

EXERC2

Page 56: Action Script 3_0

Exercicios

• Construa um programa utilizando funções que execute as operações abaixo:– Ler(x)– Ler(y)– x x – 1– y y – 1– x x + y– y (2 * x) + y– Escrever(x)– Escrever(y)– Escrever(x + y)

Page 57: Action Script 3_0

Exercicios

Page 58: Action Script 3_0

Exercicios

• Crie um programa que faça a leitura de um caractere alfanumérico, e exiba as mensagens abaixo:– (A) Você digitou a letra A

– (B) Você digitou a letra B

– .....

– (H) Você digitou a letra H

– Para os demais caractere deve ser mostrada a mensagem padrão: “Este caractere não é válido!”