sexta-feira, 29 de janeiro de 2010

Eventos do Flex ou Customizados

Frequentemente vejo nas listas de discussão a pergunta: como faço para acessar uma função / propriedade da minha janela (TitleWindow) através da application e vice-versa? Resumindo: como faço para trocar mensagens entre objetos?

Bem, para isso podemos usar Application.application ou as propriedades: parent, parentApplication, parentDocument ou owner, variando de acordo com os objetos que vão se comunicar.

Mas, esta não é a forma que eu recomendaria, a forma mais "elegante" é através do uso de eventos.

O Flex tem vários eventos próprios: eventos de ciclo de vida (add, added, preinitialize, initialize, creationComplete, updateComplete), MouseEvent, FocusEvent, KeyBoardEvent, entre outros ...Event e você também pode criar os seus próprios eventos customizando-os conforme sua necessidade.

Os eventos diminuem o acoplamento entre objetos tornando-os mais independentes e facilita o reaproveitamento de código. No evento customizado você pode criar as propriedades necessárias para enviar aos objetos que estiverem escutando, não precisando assim que um objeto saiba quais propriedades ou objetos o objeto que disparou o evento possue, só será necessário conhecer o evento monitorado.

Abaixo uma relação de links que exemplificam o uso de Custom Events:
Using Events - LiveDocs
Custom Events - LiveDocs
Flex/AS3 – Truques e Dicas #7 – Custom Event
Eventos personalizados no Flex
Passando parâmetros entre Pop-Up e Application no Flex
Eventos personalizados interagindo entre telas

sexta-feira, 15 de janeiro de 2010

Debug em Produção

Às vezes pode ser necessário debugar uma aplicação que já se encontra em produção para identificar a origem de um erro ou entender um comportamento não desejado.

Para isso é necessário seguir os seguintes passos:
  1. Coloque trace() e breakpoints onde desejar na sua aplicação.
  2. Compile em modo debug (Project > Build Project).
  3. Publique o swf compilado no seu servidor de produção.
  4. Crie um arquivo .html em branco e informe ao seu projeto onde se encontra este arquivo na hora de rodar em modo debug, para isso, vá em Run > Open Debug Dialog... e faça como na imagem ao lado.
  5. Rode a sua aplicação em modo debug: Run > Debug As. Isto irá abrir no seu navegador o arquivo html em branco criado no passo anterior.
  6. Numa outra aba do navegador abra o swf do servidor de produção. Neste ponto quando passar por um trace o seu conteúdo irá aparecer na console e se tiver um breakpoint o Flex Builder irá parar para você poder debugar mostrando a perspectiva Flex Debugging.

quinta-feira, 14 de janeiro de 2010

Flex For Kids 2010 - Inscrição

Pessoal, já fiz minha inscrição, e você, já fez a sua?

Não perca tempo, além de ter acesso a conteúdo de primeira com profissionais feras vocês ainda estarão ajudando pessoas que precisam de sua colaboração.

Ótimo custo x benefício, somente R$ 30,00 podendo ser pago até via cartão de crédito.

Se não puder assistir no dia, não desista, as palestras poderão ser baixadas para serem vistas a hora que quiser.

Participe e divulgue. Faça sua inscrição aqui.

quarta-feira, 13 de janeiro de 2010

Projeto Engnatv

Como comentei em post anterior esta primeira semana de 2010 iniciei ministrando um treinamento de 40h de Animações com ActionScript 3 no Flash CS4.

Este treinamento foi realizado na faculdade Feevale como parte do projeto Engnatv patrocinado pela Finep.

O treinamento vem com o intuito de dar subsídios para a criação de animações com ou sem interatividade para facilitar ao professor de ensino médio ensinar conceitos das seguintes disciplinas: Biologia, Física, Informática, Matemática e Química, estimulando também os alunos a assimilar mais facilmente estes conteúdos.

Convite: Quem tiver interesse em ser voluntário na criação de animações entre em contato através dos e-mails listados na seção Contatos do site do projeto. As animações serão publicadas no site juntamente com o nome do autor.

O conteúdo programático foi o seguinte:
Diferenças entre Flash, Flex, Flash Player
Noções básicas de ActionScript 3 (AS3)
=> Variáveis e Constantes
=> Tipos de Dados
=> Classe Object
=> Arrays
=> Debug
=> Operadores
=> Condicionais
=> Loops
=> Funções
Orientação a Objeto (OO)
=> Classes
=> Package
=> Métodos
=> Método construtor
=> Variáveis de instância
=> Herança
Objetos Visuais
=> Display List
=> Método addChild
=> Criando um MovieClip e exportando para AS3
=> Desenhando com graphics
Eventos
=> Interceptando e removendo eventos
=> KeyboardEvent
=> MouseEvent
=> FocusEvent
=> Criando eventos customizados
Carregando arquivos
=> Arquivos de texto
=> XML
=> Manipulando informações de um arquivo XML
=> Carregando sons
=> Imagens
=> Vídeos
=> Objeto de vídeo do Flash FLVPlayBack
Animações
=> Timer
=> Evento EnterFrame
=> Tween
=> Transition
=> TimeLine
=> Motion Tween