DClick

Arquivos da categoria "Flex"

Escopo de Váriavel em ActionScript 3

Categorias relacionadas: ActionScript, Flex, Programação
Twitter!

Você sabe o que acontece no código abaixo?

ACTIONSCRIPT:
  1. var teste:Boolean = false;
  2. if(teste)
  3. {
  4.     var nome:String;
  5. }
  6. else
  7. {
  8.     nome = "Bruno Sales";
  9. }
  10. trace("Nome: " + nome);

Erro de compilação? Erro de execução? Nenhum dos dois. O resultado do trace é "Nome: Bruno Sales". A variável foi criada mesmo que o código dentro do IF não tivesse sido executado.
Isso acontece pois o ActionScript só tem 2 tipos de escopo: Global e Local; onde Local é considerado todo o escopo dentro de uma função.

Contudo, sugiro para que nunca utilizem algo deste tipo em seu processo de desenvolvimento. A lógica de seu código ficará muito confusa e causará sérios problemas para manutenção e debug.

Por Bruno Sales em 25/July/2009
4 Comentários »


Other Languages:

Desabilitando o cache do Firefox

Categorias relacionadas: (Sem Categoria), Flex
Twitter!

Todos aqueles que usam o Firefox para testes durante o desenvolvimento de aplicações em Adobe Flex, com certeza já tiveram problemas com o cache. Isso se torna mais frustrante quando a aplicação é muito grande que, para efetuar o teste é preciso passar por alguns passos antes de chegar ao ponto que gostaria, e quando chega, descobre que o swf que está acessando era uma versão que estava em cache.

Obviamente existem algumas maneiras de resolver este problema, porém vou apresentar a solução que eu uso, e acho bem prática.

Abra o firefox e na barra de endereços digite: about:config. Uma mensagem de alerta aparecerá, porém iremos prosseguir para que possamos fazer a configuração.
Procure na barra de buscas por estes itens: browser.cache.memory.enable, browser.cache.disk.enable. Eles provavelmente vão estar com o valor true, o que iremos fazer é mudar o valor deles para false.

Para confirmar se a alteração foi efetuada, basta digitar na barra de endereços: about:cache, o resultado deve ser uma mensagem informando que o cache foi desabilitado.

Pronto. Agora o cache do Firefox foi desabilitado, de forma simples e rápida.

Por Bruno Sales em 5/July/2009
3 Comentários »


Other Languages:

Metadatas Personalizadas (Flex 3 e Flex 4)

Categorias relacionadas: ActionScript, Flex, Tutorial
Twitter!

Metadatas são declarações usadas em suas classes ActionScript/MXML que podem definir atributos de seus componentes, propriedades "bindable", eventos, etc. Quem programa em flex já deve conhecer algumas das mais comuns como [Bindable] e [Event], e para quem tem um conhecimento em Java, pode comparar metadatas com annotations.

As tags de metadata são associadas a declarações de classe, um único campo de data ou um método. Para associar uma metadata basta você escrevê-la em uma linha antes de sua propriedade ou método, como por exemplo:

ACTIONSCRIPT:
  1. [Bindable]
  2. public var nome:String;

Porém, isso não passa de uma implementação básica. Até o momento só utilizamos metadatas pré-definidas na sdk do Flex, e o que gostariamos mesmo seria criar nossas próprias metadatas, e saber como interpretá-las.

Vamos por passos. O exemplo a seguir mostra a implementação de uma metadata personalizada para atributos de uma classe.

Leia o artigo completo »

Por Bruno Sales em 11/June/2009
1 Comentário »


No Translations

ProgressBar parou de funcionar? Faltou coizinha…

Categorias relacionadas: Flex, Flex Components
Twitter!

Derrepente, progressBar que sempre funcionou parou de funcionar. Bem pra dar estresse quando prazo é bem curto.  Para passar direto de assunto... Acontece quando invez de player 9.x passou de usar 10.x.

Antigamente se você não colocou nada, ou colocou mode="manual" no progressBar, funcionou. Agora com player 10, tem que colocar mode="{ProgressBarMode.MANUAL}" se omite, barra nunca vai correr, se você tá setando pelo setProgress(loaded, total) de fora.

Por Emil Beli em 18/May/2009
4 Comentários »


No Translations

O Segredo das RIAs de Sucesso: “Professional Edition”

Categorias relacionadas: Flex, RIA, Screencast
Twitter!

Desde que eu apresentei "O Segredo das RIAs de Sucesso" no Café com o Tom eu tive vontade de fazer uma versão mais "caprichada" e disponibilizar para a comunidade dado o Feedback positivo que a apresentação teve. Por isto, hoje estou disponibilizando "O Segredo das RIAs de Sucesso - Professional Edition".


Caso tenha vontade, utilize as opções do player acima para embutir (embed) este vídeo na página que desejar. Se preferir, pode fazer o download do .MOV original clicando aqui

Além de usar e abusar das transições do Keynote (Powerpoint nunca mais!!!) o conteúdo da presentação também sofreu alterações. Eu removi alguns slides desnecessários, modifiquei completamente a primeira parte da apresentação e substituí­ algumas imagens por ví­deos exemplo para explicar melhor os conceitos (isto foi muito útil principalmente no capitulo que fala dos efeitos/transições).

Se você já conhece o Segredo poderá tirar proveito desta versão turbinada com excelente áudio, novos conceitos e exemplos mais ricos. E para quem ainda não conhece o segredo fica a pergunta: O que Mohamed Ali, Albert Einstein e Steve Jobs tem a nos ensinar sobre as RIAs de sucesso?

Clique aqui para ver outros vídeos da DClick TV.
Clique aqui para assinar o RSS da DClick TV.

Por Beck Novaes em 6/May/2009
16 Comentários »


No Translations

Como fazer Binding em Functions corretamente?

Categorias relacionadas: ActionScript, Flex
Twitter!

Pode parecer uma coisa boba, mas muita gente ainda tem dúvidas de como fazer o bind em functions no Flex. O maior problema com isso é que, como o resultado de uma function pode depender de muitos fatores, o Flex não tem como saber se o valor foi atualizado ou não, portanto o bind não funciona.

Considere um exemplo bobo onde temos dois TextInput e o segundo tem um bind para uma function que multiplica o valor do primeiro por 3 sempre. Algumas pessoas tentariam fazer dessa maneira:

XML:
  1. <mx :Script>
  2.     <![CDATA[
  3.        
  4.         [Bindable]
  5.         private function getNewValue():Number
  6.         {
  7.             return Number( tiValor1.text ) * 3;
  8.         }
  9.        
  10.     ]]>
  11. </mx>
  12.    
  13. <mx :TextInput id="tiValor1" restrict="0-9" />
  14. <mx :TextInput id="tiValor2" restrict="0-9" text="{getNewValue()}" />

Dessa maneira, o valor nunca será atualizado, pois o Flex não tem como saber que o “tiValor1.text” lá dentro da function deverá ser monitorado. Uma das soluções possíveis, e mais utilizadas pela maioria das pessoas, é passar uma propriedade que seja bindable como parâmetro para a function. Assim, toda vez que o valor bindable for atualizado a function será chamada novamente. Dessa maneira:

Leia o artigo completo »

Por André Gil em 14/April/2009
4 Comentários »


No Translations

Carrossel 3D com Flash Player 10

Categorias relacionadas: ActionScript, Flex, Flex Components
Twitter!

Eu havia postado uma breve introdução sobre efeitos 3D nativos do Flash Player 10 há algum tempo. Com base naquele estudo e um entendimento melhor de como o FP10 funciona, criei este componente que, apesar de comum para quem usa frameworks 3D (Papervision, etc...), funciona muito bem nativo e consequentemente fica muito mais leve.

Além disso o componente funciona com qualquer DisplayObject, tornando sua interatividade ainda maior.

A demo a seguir mostra o componente e algumas de suas propriedades:

Você pode visualizar aqui o código fonte.
(Não esqueça que este é um projeto FP10. Para este funcionar vá em Propriedade do Projeto > Flex compiler > Require Flash Player e preencha com 10.0.0).

Por Bruno Sales em 4/March/2009
12 Comentários »


Other Languages: