Em continuação do tutorial (001 - 002 - 003)
Com falamos antes em bases da linguagem, já pouco mais há a dizer, visto que com o decorrer do tutorial falaremos mais atentamente sobre algumas propriedades da linguagem…
Vamos agora passar a falar do “core” do Action Script 3.
3. Propriedades, métodos e eventos
Depois de já termos falado das bases do AS3, vamos falar agora dos elementos base para poder construir, definir e instruir muitos dos elementos gráficos no Flex/Flash.
As propriedades são algo que define, uma característica e em ultimo caso chamada de parâmetro. Como na vida real podemos definir um carro como marca, colorido, portas , tipo ou cilindrada, no actionscript podemos fazer exactamente o mesmo, mas no caso de um carro, apenas teríamos propriedades fixas, que não podemos alterar facilmente (a não ser na oficina), enquanto que no action script e seus objectos as suas propriedades são maioritariamente de leitura-escrita, ou seja, num botão por exemplo, podemos obter o seu tamanho pela propriedade meuBotao.width, ao mesmo tempo também podemos definir o seu tamanho com meuBotao.width=250; Existem também algumas propriedades que não podem ser alteradas (leitura apenas) mas como no caso do carro, também as podemos alterar, não muito facilmente nem directamente, mas mais para o final do tutorial explicarei com o fazer.
Os métodos são geralmente opções que permitem ao programador fazer com que um objecto execute certas operações, na maioria, internas que podem tanto definir varias propriedades do objecto, ou efectuar uma simples acção. Por exemplo tendo um método definePosição() podemos definir o valor do x e do y em apenas uma linha de código, simplificando as definições das propriedades .x e .y. Em caso único, pode ser usados para especificar uma acção única, como por exemplo o navigateToURL() que abre determinado site no browser .
Eventos são retornos de determinadas acções, por exemplo num carro, ao desligar o motor é disparado um imaginário evento “stop”, no AS3, por exemplo um botão, se o utilizador clicar com o rato no botão é então accionado o evento click, e esse evento pode ser interceptado de maneira a que possamos efectuar uma acção, regra geral uma função. O “dispositivo” que lida com estes eventos, chama-se “Event Handler” e é a partir deste handler que são chamadas as possíveis funções. No action script 3 foram implantados já certas funções de Event Handling, que são chamados os Event Listners, em tradução à letra, são “escutadores de eventos” que servem precisamente para detectar quando determinado evento foi “disparado”, ou seja, quando o evento foi accionado, e a partir dessa detecção podemos saber em que preciso momento o evento foi disparado.
Fora estes eventos já implantados pelo AS3, podemos ainda criar os nossos próprios eventos, mas para isso teremos que explicar melhor como eles funcionam, o que acontecerá mais à frente….
3.1. Propriedades
No caso do action script, por exemplo em Flex, temos um painel, e dentro dele temos um botão… ambos os elementos partilham das mesmas características (independentes), como por exemplo o .x e o .y, mas se alterar-mos o .x do painel, o .x do botão não vai alterar, porque ele está dependente do painel, embora a posição absoluta no ecrã dele vá variar, a sua posição relativa ao painel não varia, a isto chama-se Child’s, ou seja, filhos, no caso de definir-mos as propriedades do botão, por exemplo o .x e .y a sua posição será sempre calculada relativamente ao painel, e no caso de definirmos o tamanho do botão (.width e .height) maior que o painel, o botão terá graficamente o tamanho máximo igual ao do painel e nunca superior, porque depende do tamanho do seu pai, ou seja, do seu “container” (portador/parent).
Regra geral, todos os elementos gráficos e não só são definidos usando propriedades que servem perfeitamente para podermos “personalizar” esse elemento, muito deles como no caso do flex aceitam uma personalização extrema muito graças ao suporte de skin’s e css.
Alguns exemplos de propriedades:
meuBotao.label="texto";
meuBotao.x=200;
meuBotao.width=150;
meuBotao.visible=false;
meuMovieClip.alpha=0.5;
meuMovieClip.visible=true;
meuMovieClip.x=125;
Como podem ver, estes elementos tem propriedades partilhadas, como o caso do x, width, height, y e mais algumas outras…pelo que ao compreender-mos as propriedades principais, facilmente conseguiremos lidar com outros objectos. Algumas propriedades podem ser definidas com percentagens, imaginemos 50%, em action script definimos como 0.5, podem definir como percentagem algumas propriedades como width, height, alpha bem como muitas outras propriedades.
Nota:
Todos os elementos gráficos são filhos (child’s) de algum outro, no caso de adicionar-mos apenas um painel na nossa aplicação, este será sempre filho do “stage “ (palco/aplicação) principal.
3.2. Eventos
A maioria dos elementos gráficos e não só do Flash, Flex dependem em muito dos eventos, para termos noção, desde um simples click com o rato num botão, imagem ou texto, passando pela escrita de texto numa caixa de texto até um efeito, tudo dispara eventos, alguns deles muito importantes para a versatilidade do AS3.
Existe uma enorme variedade de eventos, tanto em objectos gráficos, em classes internas e até em classes desenvolvidas por terceiros, pelo que se torna muito importante ter uma boa noção dos mesmos visto que o AS3 é literalmente orientado a objectos é essencial conhecermos os eventos disparados por esse objecto para termos um melhor controlo sobre a nossa aplicação/animação.
No anterior AS2, bastantes eventos poderiam ser “interceptados” directamente como por exemplo com o on(release), on(press) ou até on(keyPress), mas como a linguagem evoluiu, actualmente no AS3 as coisas mudaram um pouco de figura, passando agora a ser directamente acedidas no objecto, tal como meuObjecto.onRelease, mas alguns destes eventos estão limitados no seu conteúdo, e aí é que entram os “eventListner’s” que podem ser melhor aplicados a qualquer objecto, instancia ou elemento, pelo que não só nos dão a possibilidade de um melhor controlo, como a infinita possibilidade de criar, disparar e lidar com eventos pessoais, ou seja, eventos criados por nós mesmos.
O “eventDispatcher” (traduzido à letra, disparador de eventos) não é novo no AS3, mas foi muito melhorado no AS3 e incrementado passando a ser responsável pela maioria dos eventos que além de controlar os eventos por defeito das instâncias, passa a controlar também os eventos personalizados permitindo ao programador saber quando determinada acção foi efectuada permitindo um controlo absoluto sobre o nosso código.
Os eventos são algo de enorme utilidade, e podem ser usados em praticamente todo o conteúdo do nosso .swf, principalmente quando fazemos uma libraria (uma compilação de código) que genericamente podemos usar em variados projectos e distribuir livremente num ficheiro (.swc) separado ao nosso .swf que pode facilmente ser utilizado e ficar disponível no nosso código, pelo que nesse .swc podemos definir Propriedades, Métodos e Eventos que são a parte crucial para que o nosso .swc funcione correctamente em outros projectos, mas que se for distribuído requer alguma documentação para explicar essas mesmas características (Propriedades, Métodos e Eventos) ou caso contrário o utilizador desse swc pode não conseguir "lidar e compreender" como essa nossa libraria funciona.
No posso tutorial falaremos de como "criar" e trabalhar com eventListners.
Abraço.
http://creativecommons.org/licenses/by-nc-nd/3.0/deed.pt









2 Trackbacks
[...] Tutorial Action Script 3 - 005 » Free e-book. Livro Pratica Action Script 3 Gratuito » Tutorial Action Script 3 - 004 » Tutorial Action Script 3 - 003 » ok vou verificar…» Humm.. fui ver por [...]
[...] on Junho 7, 2008 – 9:30 am Em continuação com o tutorial ( 001 - 002 - 003 - 004 [...]