A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Flex para mortais comuns - ActionScript

Qui

23

Jul

2009


16:13

(4 votos, média 5.00 de 5) 


Flex O ActionScript é uma linguagem de programação muito versátil que permite, entre outras coisas, criar novos objetos em tempo de execução e associar efeitos a estes objetos. Neste tutorial veremos como fazer esta "mágica" no Flex.

Se você estiver seguindo esta série de tutoriais, então ainda deve estar com o projeto aloMundo.mxml aberto no Flex Builder. Se não, faça o download do projeto do tutorial anterior (todos os projetos estão na seção de downloads/tutoriais da Aldeia) e importe-o para o Flex Builder clicando em File/Import/Flex Project para podermos prosseguir.

Vitaminando o ActionScript

Vamos usar o arquivo aloMundo.as para criar um novo painel. Esta ação será executada assim que um novo botão no nosso aplicativo for clicado. Além de criar um novo painel em tempo de execução, queremos que este painel seja mostrado com um efeito especial.

Clique na aba aloMundo.as do painel de edição. Nosso plano é escrever uma função para criar um painel. Antes de prosseguir, vamos dar uma olhada no que já existe neste arquivo.

// ActionScript file // Importação de objetos import mx.controls.Alert; // Apresentar a mensagem quando botao1 for clicado private function clica():void { Alert.show("Na Aldeia todo mundo está numa boa!","Aldeia Numaboa"); }

A nova função receberá o nome de novoPainel() (viiiixi, isto é que é criatividade!). Então, vamos lá. Abra uma nova linha, comece digitando "private function novoPainel:void {" para abrir a área de edição da nova função. A seguir, informe o Flex Builder que você quer um objeto Panel com "var painel:Panel = new Panel;". Aqui é preciso notar duas coisas.

A primeira é o modo como se cria variáveis: indica-se com var que se trata de uma variável, dá-se o nome (painel) e o tipo (:Panel) da mesma e lhe atribuímos um valor (= new Panel). Observe que o valor da variável pode ser um objeto, como neste caso um novo painel.

Para que o novo painel possa ser criado é preciso importar o modelo do painel (que é chamado de classe). Para ajudar os que costumam esquecer de fazer isto, o Flex Builder cuida da importação e coloca automaticamente no início do script a linha "import.containers.Panel". É mordomia na hora de criar novos objetos, mas o inverso não é válido. Se deletarmos a linha com a variável, a linha com importação NÃO é tirada. Neste caso, ao executarmos o aplicativo, uma importação desnecessária será feita sobrecarregando inutilmente o sistema. Esta limpeza do código depende exclusivamente do programador.

Veja como ficou o código:

// ActionScript file // Importação de objetos import mx.containers.Panel; import mx.controls.Alert; import mx.effects.Effect; import mx.effects.WipeDown; // Mostrar mensagem quando botao1 é clicado private function clica():void { Alert.show("Na Aldeia todo mundo está numa boa!","Aldeia Numaboa"); } // Abrir novo painel quando botao2 é clicado private function novoPainel():void { var painel:Panel = new Panel; var efeito:Effect = new WipeDown; painel.width = 180; painel.height = 115; painel.x = 268; painel.y = 10; painel.id = "painel2"; painel.title = "Novo painel"; efeito.target = painel; this.addChild(painel); efeito.play(); }

Além de criarmos um objeto Panel, também criamos um componente Effect do tipo WipeDown. A seguir estabelecemos os valores de algumas das propriedades do painel - linhas 18 a 23. Na linha 24 determinamos que o alvo do efeito WipeDown (fazer aparecer de cima para baixo) é o painel. Na linha seguinte inserimos em this (cuja tradução é este e se refere ao aplicativo) o objeto filho (addChild significa adicionar filho) painel. Finalmente, mandamos executar o efeito com efeito.play().

Fazendo acontecer

Agora só falta criar um botão e atrelar seu evento click à função novoPainel(). Clique na aba aloMundo.mxml da área de edição e trabalhe no modo visual (clique no botão Design). Coloque um componente Button logo acima do botão já existente. No painel de propriedades (Common) mude os valores da ID para botao2, Label para Novo painel e On click para {novoPainel();}. Se você der uma espiada no script MXML (clique no botão Source) o código vai estar assim:

Agora é só pregar o chinelo. Rode o aplicativo e se divirta vendo um novo painel surgir na tela. Cada vez que você clicar o botão [Novo painel], um novo painel será criado e colocado nas mesmas coordenadas, ou seja, os painéis são colocados um em cima do outro. O certo seria evitar de criar painéis se já existir um, mas isto é um assunto que será tratado mais pra frente. Por enquanto é isto.

Novo painel

Espero que tenham se divertido e aprendido mais alguma coisinha.

Abraço da vó vovo

info Você pode fazer o download deste projeto na seção de downloads/tutoriais da Aldeia.

опционы mfx гриль сковорода купить спблобановский александр женаинтернет продажаlegal translation agencyлобановский александр

Informações adicionais