por Magno Urbano
Com o surgimento do Flash CS3, a Adobe resolveu modificar a linguagem de programação do Flash. A partir de então, estava criado o ActionScript 3.0, que modificava muitos conceitos até então correntes.
Entendo que a ideia foi a de reparar alguns problemas existentes no ActionScript 2.0 e criar, verdadeiramente, uma linguagem orientada aos objectos. Entretanto, foi adicionado um grau significativo de dificuldade à linguagem, tornando-a deveras mais complexa ao utilizador comum ou àqueles que estão a iniciar.
Contrariamente ao que era possível fazer no ActionScript 2.0, agora não é mais possível adicionar um script a um botão, por exemplo, devendo todos os scripts serem escritos em layers independentes o que, certamente, facilita a correcção (e debugging) do programa. Para vincular um código de programação a um botão, por exemplo, é preciso agora realizar as etapas seguintes:
- criar o botão na biblioteca ou como um novo objecto do tipo button;
- adicionar esse objecto à animação e especificar um nome (instance name) – por exemplo: botao;
- criar um novo layer no mesmo nível hierárquico da animação e acrescentar os seguintes comandos:
botao.addEventListener(MouseEvent.MOUSE_UP, codigo);
function codigo(evt:MouseEvent):void {
…. código a ser executado depois do botão ser clicado….
}
Explicação dos comandos: botao.AddEventListener adiciona um controlo que passa a monitorizar o elemento chamado botao e executa a rotina chamada codigo assim que ocorrer um evento do tipo MOUSE_UP, ou seja, ao fazer clique no botão, dois eventos são gerados, MOUSE_DOWN (quando o botão do rato é pressionado para baixo) e MOUSE_UP (quando o botão do rato é libertado depois do clique). Logo, também poderá optar por colocar MOUSE_DOWN neste campo, para executar a rotina assim que o botão do rato for pressionado, mesmo que o utilizador ainda não tenha libertado o respectivo botão. Outra opção para este campo é CLICK. Um evento do tipo CLICK ocorre quando um evento MOUSE_DOWN é seguido por um evento MOUSE_UP. Na prática, pode não existir um evento MOUSE_UP a seguir ao evento MOUSE_DOWN, no caso do utilizador libertar o botão do rato estando o cursor fora do botão que gerou o MOUSE_DOWN.
Tweetar |
Se gostou desse artigo... | |
:: |
receba as novidades deste site por e-mail! |
Dê a sua opinião sobre este artigo
11 Opiniões
-
Diego Silva Machado on
Março 1, 200820:51
Achei uma sacanagem essas mudanças que a Adobe fez no Flash. Quem lida com programas de CAD, por exemplo, consegue utilizar qualquer outro programa de CAD apredendo apenas as diferenças entre os programas, as novas técnicas. Porém, quem custou tanto a aprender o ActionScript das versões anteriores do Flash, tem que esquecer tudo que aprendeu e começar novamente, porque um programador na Adobe resolveu mudar um programa que é, na verdade, concebido para ser usado pelos designers.
-
Fabio on
Abril 29, 200818:15
Ola gostaria de saber como fazer um botão em flash executar um arquivo de video externo, por exemplo um arquivo tudo.mpg no media player???
-
felipe on
Setembro 27, 20083:01
Legal, valeu. To com uma duvida aqui. Por exemplo se eu criar um movie clip com animaçao propria e quiser controlar ele entao terei de colocar o botao ( por exemplo um botao que faça com q inicie sua animaçao) dentro do movie clip, como se fizesse parte dele. Achei isso meio ruim queria controlar ele de fora.. Tem como?
-
Magno Urbano on
Setembro 27, 200813:03
Sim, tem. O botão pode estar em qualquer lugar. Se o botão vai controlar uma animação num objecto, basta referenciar este objecto no código do botão. A linguagem de programação do Flash, o ActionScript 3, é uma linguagem OOP, ou seja, orientada a objectos. Assim sendo, cada objecto criado pode ser referenciado por um nome. Desta forma poderá controlar os objectos que desejar se fornecer a referência do nome. O segredo está na hierarquia do Flash...
-
felipe on
Setembro 27, 200817:37
Muito obrigado, resolveu meu problema. Mania de usar this, hehhe.
-
Magno Urbano on
Setembro 27, 200822:39
É bom saber que resolveu! :-)
-
Ane Caroline on
Janeiro 23, 200914:34
Estou aprendendo action script agora e o lugar onde faço curso usamos Flash 8.. que é bem diferente do CS3.. não consigo fazer um simples botão no CS3... imagina o CS4 haha. Acredito que eles complicaram de mais uma coisa simples de fazer...
-
Dod Lima on
Setembro 14, 201116:26
Olá, tenho um problema aqui, estou fazendo um botão com movieclip, um pergaminho que se abre ao passar o mouse, porém, queria quer o pergaminho apenas abrisse quando clicasse, e também, que permanecece até que clicasse em outro botão. Poderiam me ajudar? Grato.
-
Silvestre on
Julho 14, 201214:00
Muito bom cara parabens
-
Magno Urbano on
Julho 14, 201216:04
obrigado Silvestre!
-
Heitor on
Março 5, 20147:24
Muito obrigado, de coração você me ajudou muito!