quinta-feira, 27 de maio de 2010
quinta-feira, 13 de maio de 2010
quarta-feira, 3 de fevereiro de 2010
The Blue Lego
Postado por
Olhando do Lado Daqui
às
00:46
Começando o ano de bom humor! Participem da campanha para que a Apple implemente o Flash Player no IPhone e IPad!
Para quem não sabe, esse Lego azul aparece quando você entra em alguma página, pelo Safari no IPhone ou no IPad, no lugar de alguma aplicação que necessite de Flash Player. Leia mais aqui: http://theflashblog.com/?p=1703
Abaixo, algumas de minhas contribuições...
Para quem não sabe, esse Lego azul aparece quando você entra em alguma página, pelo Safari no IPhone ou no IPad, no lugar de alguma aplicação que necessite de Flash Player. Leia mais aqui: http://theflashblog.com/?p=1703
Abaixo, algumas de minhas contribuições...
E pretendo fazer mais.
Entre na campanha você também, acesse o site www.thebluelego.com e poste o seu!
quarta-feira, 16 de dezembro de 2009
Badges Oficiais do FlashCamp Brasil
Postado por
Olhando do Lado Daqui
às
23:34
Saiu os badges oficiais para divulgar nessa reta final até o dia 15. Falta um mês... "Você não vai querer perder!"
Copie o código HTML entre as tags <BODY> e </BODY> de seu site, blog, etc...
<iframe src="http://www.idemax.net/flashcamp/banner_712x249.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Flash Camp - 88x31
<iframe src="http://www.idemax.net/flashcamp/88x31.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Flash Camp - 125x125
<iframe src="http://www.idemax.net/flashcamp/flashcamp4.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Flash Camp - 125x125
<iframe src="http://www.idemax.net/flashcamp/flashcamp4ENG.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Badges Oficiais feito por mim:
Brasil - 88x31
<iframe src="http://www.idemax.net/flashcamp/brasil_88x31.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Brasil - 120x90
<iframe src="http://www.idemax.net/flashcamp/brasil_120x90.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Brasil - 125x125
<iframe src="http://www.idemax.net/flashcamp/brasil_125x125.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Eu vou e você?! - 120x60
<iframe src="http://www.idemax.net/flashcamp/eu_vou_120x60.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Eu vou e você?! - 120x90
<iframe src="http://www.idemax.net/flashcamp/eu_vou_120x90.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Eu vou e você?! - 125x125
<iframe src="http://www.idemax.net/flashcamp/eu_vou_125x125.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Bandeira - 120x60
<iframe src="http://www.idemax.net/flashcamp/flags_120x60.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Bandeira - 120x90
<iframe src="http://www.idemax.net/flashcamp/flags_120x90.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
Bandeira - 125x125
<iframe src="http://www.idemax.net/flashcamp/flags_125x125.html" allowtransparency="true" frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0"></iframe>
segunda-feira, 14 de dezembro de 2009
segunda-feira, 7 de dezembro de 2009
FlashCamp Brasil - 15 e 16 de Janeiro / 2010 em Maceió - AL - Brasil
Postado por
Olhando do Lado Daqui
às
19:33
Olá pessoal, mês que vem, Janeiro de 2010, vai acontecer no Brasil o primeiro FlashCamp Brasil. Este evento está sendo realizado pela ActionCreations, e será o evento mais importante para desenvolvedores e entusiastas em Adobe Flash Plataform.
Além do network que esse evento vai possibilitar, os palestrantes estão entre os maiores nomes em desenvolvimento RIA mundial. Como exemplo, Lee Brimelow, evangelísta Adobe focado em Flash, Flex e AIR, qual já fui numa palestra em São Paulo e foi excelente. E Daniel Dura, que vai palestrar sobre o Flash Player 10.1, que tem suporte a multitouch nativo! E muitos outros como Joshua Hirsch, Daniel Morena, Sam Rivello, Vicente Maciel Jr, Tiago Venegas, Cássio Souza, etc...
Na minha opnião, o evento será bom para os dois principais grupos no Brasil. Para desenvolvedores na área de publicidade, sobre novas funcionalidades do Flash CS5, e para desenvolvedores de aplicações enterprise, sobre o Flash Catalyst, Flash Builder 4, AIR 2.0 e o multitouch do Flash Player 10.1. Além também de apresentarem novidades sobre Flash Video, Live Streaming e HD com Flash Media Server.
Ouvir os cabeças mundiais falando sobre seu know-how em desenvolvimento não vai ter preço, e quem perder esse, só o ano que vem (provavelmente).
Para mais informções sobre o local, inscrição e preços. Acesse: www.flashcampbrasil.com.br
domingo, 6 de dezembro de 2009
Ford Mustang Shelby GT500
Postado por
Olhando do Lado Daqui
às
10:01
Não sou muito fã de carros e afins, gastaria R$ 10.000,00 com um computador do que com rodas novas para meu "Fiestinha"... Mas o Ford Mustang Shelby GT500 é foda! Não vai ter jeito, quando eu ganhar na mega-sena no final do ano, vou comprá-lo... Rá!
Perfil animal!
Traseira
Close na fechadura do porta-malas, sem comentários...
"The Snake"
(sou eu ali no fundo)
(sou eu ali no fundo)
domingo, 22 de novembro de 2009
Enviando e Recuperando Dados por HTTPService usando PHP
Postado por
Olhando do Lado Daqui
às
00:14
Hoje vou mostrar exatamente o que o título diz, vamos enviar alguns dados para uma página PHP via HTTPService e recuperá-los no evento ResultEvent.RESULT.
Infelizmente não conseguir fazer o PHP realmente enviar porque olixo do meu servidor de hospedagem não habilita o método mail(), tendo que fazer envio por SMTP. Mas não achei uma classe que funcionasse significativamente bem. Então estou deixando sua imaginação fluir...
Bom, vamos ao que interessa. No exemplo, eu fiz um formulário simples em que o usuário insere o nome, e-mail, assunto por combobox e a mensagem, e travei os campos usando os Validators do próprio Flex. Também fiz um bom uso do Declarations, para deixar as coisas mais explícitas.
Infelizmente não conseguir fazer o PHP realmente enviar porque o
Bom, vamos ao que interessa. No exemplo, eu fiz um formulário simples em que o usuário insere o nome, e-mail, assunto por combobox e a mensagem, e travei os campos usando os Validators do próprio Flex. Também fiz um bom uso do Declarations, para deixar as coisas mais explícitas.
Segue abaixo o código do FlexContactForm.mxml.
O PHP está bem simples, o foco é mostrar como vem e vão os valores.
É simplesmente um echo nos Posts, veja que a chave é a mesma do nó no request que é passado no HTTPService.
Como eu setei resultFormat="text" no HTTPService, é só pergar no evento a propriedade result como String e escrever onde quiser.
O ver / baixar o projeto / código-fonte, clique com o botão direito na aplicação ou clique aqui.
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
width="400"
height="400"
applicationComplete="applicationCompleteHandler()"
viewSourceURL="srcview/index.html">
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import mx.rpc.events.ResultEvent;
import mx.validators.Validator;
private var _validadores:Array;
private function applicationCompleteHandler():void
{
_validadores = [ campoNomeValidator, campoEmailValidator, comboAssuntoValidator, campoMensagemValidator ];
campoNome.setFocus();
}
private function btnEnviar_clickHandler():void
{
if( Validator.validateAll( _validadores ).length )
return;
PopUpManager.addPopUp( progressEnviando, this, true );
PopUpManager.centerPopUp( progressEnviando );
httpServiceSendMail.send();
}
private function btnLimpar_clickHandler():void
{
campoNome.text = campoEmail.text = campoMensagem.text = '';
comboAssunto.selectedIndex = -1;
campoNome.setFocus();
}
private function httpServiceSendMail_resultHandler( $event:ResultEvent ):void
{
PopUpManager.removePopUp( progressEnviando );
PopUpManager.addPopUp( titleRetornoPhp, this, true );
textRetorno.htmlText = $event.result as String;
PopUpManager.centerPopUp( titleRetornoPhp );
}
private function titleRetornoPhp_closeHandler():void
{
PopUpManager.removePopUp( titleRetornoPhp );
}
]]>
</fx:Script>
<fx:Declarations>
<mx:TitleWindow id="titleRetornoPhp"
title="Retorno do PHP"
showCloseButton="true"
close="titleRetornoPhp_closeHandler()"
minWidth="200">
<mx:Text id="textRetorno" />
</mx:TitleWindow>
<mx:ProgressBar id="progressEnviando"
indeterminate="true"
label="enviando mensagem..." />
<s:HTTPService id="httpServiceSendMail"
method="POST"
resultFormat="text"
result="httpServiceSendMail_resultHandler(event)"
url="php/enviaEmail.php">
<s:request>
<nome>
{campoNome.text}
</nome>
<email>
{campoEmail.text}
</email>
<assunto>
{comboAssunto.selectedItem.@label}
</assunto>
<mensagem>
{campoMensagem.text}
</mensagem>
</s:request>
</s:HTTPService>
<fx:XMLList id="xmlAssuntos">
<assunto label="Informação" />
<assunto label="Reclamação" />
<assunto label="Crítica" />
<assunto label="Dúvida" />
<assunto label="Outro" />
</fx:XMLList>
<mx:StringValidator id="campoNomeValidator"
source="{campoNome}"
property="text"
tooShortError="Digite seu nome!"
tooLongError="Digite somente seu primeiro nome!"
minLength="4"
maxLength="20" />
<mx:EmailValidator id="campoEmailValidator"
source="{campoEmail}"
property="text" />
<mx:NumberValidator id="comboAssuntoValidator"
source="{comboAssunto}"
lowerThanMinError="Selecione um assunto!"
property="selectedIndex"
minValue="0"
thousandsSeparator="."
decimalSeparator=","
trigger="{comboAssunto}"
triggerEvent="{Event.CHANGE}" />
<mx:StringValidator id="campoMensagemValidator"
source="{campoMensagem}"
property="text"
tooShortError="Digite uma mensagem relevante!"
tooLongError="Vá direto ao assunto!"
minLength="10"
maxLength="255" />
</fx:Declarations>
<s:Rect width="100%"
height="100%">
<s:fill>
<s:RadialGradient>
<s:GradientEntry color="#ffffff" />
<s:GradientEntry color="#cccccc" />
</s:RadialGradient>
</s:fill>
</s:Rect>
<s:Panel title="Formulário de Contato"
horizontalCenter="0"
verticalCenter="0">
<mx:Form horizontalCenter="0"
verticalCenter="0">
<mx:FormHeading label="Preencha o formulário abaixo." />
<mx:FormItem label="Nome:"
required="true"
width="100%">
<s:TextInput id="campoNome"
width="100%" />
</mx:FormItem>
<mx:FormItem label="E-Mail:"
required="true"
width="100%">
<s:TextInput id="campoEmail"
width="100%" />
</mx:FormItem>
<mx:FormItem label="Assunto:"
required="true"
width="100%">
<mx:ComboBox id="comboAssunto"
prompt="Selecione um assunto..."
selectedIndex="-1"
width="100%"
dataProvider="{xmlAssuntos}"
labelField="@label" />
</mx:FormItem>
<mx:FormItem label="Mensagem:"
required="true">
<s:TextArea id="campoMensagem" />
</mx:FormItem>
<mx:FormItem direction="horizontal"
width="100%">
<s:Button id="btnEnviar"
label="enviar"
click="btnEnviar_clickHandler()" />
<mx:Spacer width="100%" />
<s:Button id="btnLimpar"
label="limpar"
click="btnLimpar_clickHandler()" />
</mx:FormItem>
</mx:Form>
</s:Panel>
</s:Application>
O PHP está bem simples, o foco é mostrar como vem e vão os valores.
<?
echo '<b>Nome: </b>'.$_POST['nome'].'<br />'.
'<b>E-Mail: </b><a href="mailto:'.$_POST['email'].'">'.$_POST['email'].'</a><br />'.
'<b>Assunto: </b>'.$_POST['assunto'].'<br />'.
'<b>Mensagem: </b>'.$_POST['mensagem'];
?>
É simplesmente um echo nos Posts, veja que a chave é a mesma do nó no request que é passado no HTTPService.
Como eu setei resultFormat="text" no HTTPService, é só pergar no evento a propriedade result como String e escrever onde quiser.
O ver / baixar o projeto / código-fonte, clique com o botão direito na aplicação ou clique aqui.
quinta-feira, 19 de novembro de 2009
What Does Marsellus Wallace Look Like?
Postado por
Olhando do Lado Daqui
às
01:08
Não deu pra não postar, muito bom o vídeo!
O original...
O original...
domingo, 15 de novembro de 2009
sábado, 31 de outubro de 2009
Usando Path no Flex 4
Postado por
Olhando do Lado Daqui
às
05:25
Olá, hoje vou mostrar como usar um novo componente primitivo do Flex SDK 4, o Path:
"The Path class is a filled graphic element that draws a series of path segments. In vector graphics, a path is a series of points connected by straight or curved line segments. Together the lines form an image. In Flex, you use the Path class to define a complex vector shape constructed from a set of line segments."
Não vou arriscar uma tradução, mas basicamente fala que o Path é um elemento gráfico de preenchimento que desenha uma série de formas. Em vetores gráficos, o Path é uma série de pontos conectados por linhas retas e curvas. Juntas formando uma imagem. No Flex, você pode usar a classe Path para definir a construção de um vetor complexo a partir de um conjunto de linhas.
Bom, pelo menos viram que o curso de inglês está rendendo alguma coisa!
Continuado, fiz um exemplo bem simples usando o máximo que o framework possível, para mostrar também algumas outras facilidades que o novo SDK tráz:
No exemplo, eu fiz um Path com o data contendo váriaveis Bindable, e o preenchimento, borda e filtro, todos por MXML.
A animação, eu usei o framework TweenMax, vale a pena estudá-lo. É parecido com a Tweener do Zeh Fernando, mas com várias funcionalidades que fazem diferença.
Não usei nenhuma fórmula para o Path parecer elástico, o foco é como ficou fácil desenhar e animar vetores complexos.
Path.mxml
O ver ou baixar o projeto / código-fonte, clique com o botão direito na aplicação e depois em "View Source", ou clique aqui.
Qualquer dúvida, enviem para idemax@gmail.com.
"The Path class is a filled graphic element that draws a series of path segments. In vector graphics, a path is a series of points connected by straight or curved line segments. Together the lines form an image. In Flex, you use the Path class to define a complex vector shape constructed from a set of line segments."
(http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/primitives/Path.html)
Não vou arriscar uma tradução, mas basicamente fala que o Path é um elemento gráfico de preenchimento que desenha uma série de formas. Em vetores gráficos, o Path é uma série de pontos conectados por linhas retas e curvas. Juntas formando uma imagem. No Flex, você pode usar a classe Path para definir a construção de um vetor complexo a partir de um conjunto de linhas.
Bom, pelo menos viram que o curso de inglês está rendendo alguma coisa!
Continuado, fiz um exemplo bem simples usando o máximo que o framework possível, para mostrar também algumas outras facilidades que o novo SDK tráz:
No exemplo, eu fiz um Path com o data contendo váriaveis Bindable, e o preenchimento, borda e filtro, todos por MXML.
A animação, eu usei o framework TweenMax, vale a pena estudá-lo. É parecido com a Tweener do Zeh Fernando, mas com várias funcionalidades que fazem diferença.
Não usei nenhuma fórmula para o Path parecer elástico, o foco é como ficou fácil desenhar e animar vetores complexos.
Path.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
width="400"
height="400"
applicationComplete="applicationCompleteHandler()"
viewSourceURL="srcview/index.html">
<fx:Script>
<![CDATA[
import com.greensock.TimelineMax;
import com.greensock.TweenMax;
import com.greensock.easing.Bounce;
import com.greensock.easing.Elastic;
[Bindable]
private var _timelineMax:TimelineMax;
[Bindable]
public var pathY:Number = 10;
[Bindable]
public var pathWidth:Number = 200;
[Bindable]
public var pathHeight:Number = pathWidth + pathY;
private function applicationCompleteHandler():void
{
_timelineMax = new TimelineMax();
_timelineMax.addChild( new TweenMax( this, 12, { pathY:height - myPath.height, ease:Elastic.easeOut } ) );
_timelineMax.addChild( new TweenMax( this, 2, { pathHeight:height, ease:Bounce.easeOut } ) );
_timelineMax.pause();
}
private function playClickHandler():void
{
_timelineMax.play();
}
protected function stopClickHandler():void
{
_timelineMax.currentTime = 0;
_timelineMax.stop();
}
protected function labelClickHandler():void
{
navigateToURL( new URLRequest( 'http://www.idemax.net/' ), '_blank' );
}
]]>
</fx:Script>
<s:Rect width="100%"
height="100%">
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="#ffffff" />
<s:GradientEntry color="#cccccc" />
</s:LinearGradient>
</s:fill>
</s:Rect>
<mx:Image horizontalCenter="0"
verticalCenter="0"
source="@Embed('/assets/images/idemax.jpg')">
<mx:filters>
<mx:BlurFilter quality="3" />
</mx:filters>
</mx:Image>
<s:VGroup top="10"
left="10">
<s:Button label="play"
click="playClickHandler()" />
<s:Button label="stop"
click="stopClickHandler()" />
</s:VGroup>
<s:Path id="myPath"
data="m 0 {pathY}
q {pathWidth/2} {-((pathHeight-pathY)-pathWidth)} {pathWidth} 0
Q {pathWidth+((pathHeight-pathY)-pathWidth)} {(pathHeight-(pathWidth/2))-((pathHeight-pathY)-pathWidth)} {pathWidth} {pathHeight}
h {-pathWidth}
Q {-((pathHeight-pathY)-pathWidth)} {(pathHeight-(pathWidth/2))-((pathHeight-pathY)-pathWidth)} 0 {pathY}
z"
horizontalCenter="0">
<s:stroke>
<s:SolidColorStroke color="#333333"
weight="1" />
</s:stroke>
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="#a8d848" />
<s:GradientEntry color="#63802a"
alpha=".5" />
</s:LinearGradient>
</s:fill>
<s:filters>
<s:DropShadowFilter angle="90"
distance="20"
quality="3"
blurX="20"
blurY="20" />
</s:filters>
</s:Path>
<s:Label right="10"
bottom="10"
text="www.idemax.net"
fontWeight="bold"
alpha=".25"
click="labelClickHandler()"
buttonMode="true" />
</s:Application>
O ver ou baixar o projeto / código-fonte, clique com o botão direito na aplicação e depois em "View Source", ou clique aqui.
Qualquer dúvida, enviem para idemax@gmail.com.
sexta-feira, 23 de outubro de 2009
FlashCamp Brasil - 15 e 16 de Janeiro / 2010 em Maceió - AL - Brasil
Postado por
Olhando do Lado Daqui
às
22:27
Na alta temporada do nordeste brasileiro, ocorrerá um evento que muitos (se não todos) os desenvolvedores de plataformas Flash estavam esperando.
O primeiro FlashCamp Brasil, nos dias 15 e 16 de Janeiro de 2010, em Maceió, Alagoas. Com palestras confirmadas de Sam Rivello (Adobe Flash Platform Consultant) e Lee Brimelow (Adobe Platform Evangelist).
Vejam mais no site: http://www.flashcampbrasil.com.br/
Vejo vocês lá!
Assinar:
Postagens (Atom)