quarta-feira, 3 de fevereiro de 2010

The Blue Lego

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...

 

  

  

 

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

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...

Banner - 721x249
clique para ver em tamanho original
(clique na imagem para ampliar)
<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, 7 de dezembro de 2009

FlashCamp Brasil - 15 e 16 de Janeiro / 2010 em Maceió - AL - Brasil



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

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)

Se quiser saber um pouco mais sobre esse carrão, acesse:
http://pt.wikipedia.org/wiki/Ford_Mustang.

domingo, 22 de novembro de 2009

Enviando e Recuperando Dados por HTTPService usando PHP

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 o lixo 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.



Segue abaixo o código do FlexContactForm.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 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?

Não deu pra não postar, muito bom o vídeo!



O original...


domingo, 15 de novembro de 2009

Logomarca NetRP




Criação da logomarca, padronização de cores e conceito. Job freelance.

sábado, 31 de outubro de 2009

Usando Path no Flex 4

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
<?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



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á!

terça-feira, 29 de setembro de 2009

Micro RP Informática - Login de Usuário no Wi-Fi



Esse foi do tipo "fast-freela", em menos de 4 horas foi concebido o layout!

segunda-feira, 21 de setembro de 2009

TwitterFeed

Olá pessoal, estou testando um novo aplicativo para o Twitter, é o TwitterFeed.



E sobre novos posts e tutoriais... Estou analisando alguns bons assuntos. Em breve terão novidades...
Se tiverem idéias, enviem para idemax@gmail.com.