<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lucas Marçal &#187; Lucas</title>
	<atom:link href="http://www.lucasmarcal.com.br/blog/index.php/author/lucasmarcal/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lucasmarcal.com.br/blog</link>
	<description>Flash Developer</description>
	<lastBuildDate>Wed, 31 Aug 2011 20:53:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Oportunidades de trabalho na Alta Comunicazione</title>
		<link>http://www.lucasmarcal.com.br/blog/index.php/2011/08/oportunidades-de-trabalho-na-alta-comunicazione/</link>
		<comments>http://www.lucasmarcal.com.br/blog/index.php/2011/08/oportunidades-de-trabalho-na-alta-comunicazione/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 20:53:11 +0000</pubDate>
		<dc:creator>Lucas</dc:creator>
				<category><![CDATA[Destaque]]></category>

		<guid isPermaLink="false">http://www.lucasmarcal.com.br/blog/?p=232</guid>
		<description><![CDATA[A Alta Comunicazione está abrindo novas vagas para o setor de web, abaixo segue um descritivo do perfil desejado separado por áreas. Se você tem facilidade em trabalhar em equipe, gosta de um bom desafio e procura uma vaga de trabalho entre em contato conosco: Enviar CV para: trabalhecomagente@altacomunicazione.com.br Assunto: DIGITAL www.altacomunicazione.com.br Perfil WebDesigner -Ferramentas [...]]]></description>
			<content:encoded><![CDATA[<p>A Alta Comunicazione está abrindo novas vagas para o setor de web, abaixo segue um descritivo do perfil desejado separado por áreas.<br />
Se você tem facilidade em trabalhar em equipe, gosta de um bom desafio e procura uma vaga de trabalho entre em contato conosco:</p>
<p>Enviar CV para: trabalhecomagente@altacomunicazione.com.br<br />
Assunto: DIGITAL<br />
www.altacomunicazione.com.br</p>
<p>Perfil WebDesigner</p>
<p>-Ferramentas de trabalho<br />
 *Dreamweaver CS5.5<br />
 *Photoshop Cs5<br />
 *Illustrator CS5<br />
 *Fireworks Cs5</p>
<p>-Habilidades necessárias<br />
 *Conhecimento sobre XHTML e CSS<br />
 *Conhecimento sobre Jquery<br />
 *Conhecimento sobre JavaScript<br />
 *Sólidos Conhecimentos sobre Adptação de layouts (PSD) para XHTML</p>
<p>-Diferenciais<br />
 *habilidade para desenvolver layouts<br />
 *HTML5 e CSS3<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Perfil Developer PHP </p>
<p>-Ferramentas de trabalho<br />
 *Dreamweaver CS5.5<br />
 *Navcat<br />
 *Photoshop cs5<br />
 *Fireworks Cs5</p>
<p>-Habilidades necessárias<br />
 *Conhecimento sobre XHTML e CSS<br />
 *Conhecimento sobre Jquery / Javascript<br />
 *Conhecimento Intermediário sobre Linguagem SQL e Banco de dados MYSQL<br />
 *Conhecimento (ter desenvolvido algo) com Codeigniter<br />
 *Conhecimento sobre AMFPHP<br />
 *Conhecimento sobre PHP nativo<br />
 *Falicidade na integração de APIs</p>
<p>-Diferenciais<br />
  *HTML5 e CSS3<br />
 *Coldfusion 8 ou 9<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Perfil Developer Actionscript 3.0</p>
<p>-Ferramentas de trabalho<br />
 *Dreamweaver CS5.5<br />
 *Flash Cs5.5<br />
 *Flash Builder 4.5 / FlashDeveloper 4.0 / FTD<br />
 *Photoshop cs5<br />
 *Fireworks Cs5</p>
<p>-Habilidades necessárias<br />
 *Conhecimento sobre Actionscript 3.0<br />
 *Conhecimento sobre Gaia Framework<br />
 *Conhecimento sobre adptação de layouts<br />
 *Conhecimento sobre OOP (Programação orientada a objeto)<br />
 *Falicidade na integração de APIs<br />
 *Sólidos conhecimentos sobre Motion via Timeline ou Greensock</p>
<p>-Diferenciais<br />
 *HTML5 e CSS3<br />
 *Coldfusion 8<br />
 *PHP (AMFPHP)<br />
 *Desenvolvimento de Apps para Android e IOS</p>
<p>Enviar CV para: trabalhecomagente@altacomunicazione.com.br<br />
Assunto: DIGITAL<br />
www.altacomunicazione.com.br</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmarcal.com.br/blog/index.php/2011/08/oportunidades-de-trabalho-na-alta-comunicazione/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aumentando a performance do seu Photoshop Cs5</title>
		<link>http://www.lucasmarcal.com.br/blog/index.php/2011/07/aumentando-a-performance-do-seu-photoshop-cs5/</link>
		<comments>http://www.lucasmarcal.com.br/blog/index.php/2011/07/aumentando-a-performance-do-seu-photoshop-cs5/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 23:21:02 +0000</pubDate>
		<dc:creator>Lucas</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[PhotoshopCs5]]></category>

		<guid isPermaLink="false">http://www.lucasmarcal.com.br/blog/?p=227</guid>
		<description><![CDATA[Saiba como aumentar a performance do seu photoshop cs5]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal<br />
Decidi escrever esse post pelo seguinte, na agência que trabalho (Alta Comunicazione) eu tenho com um “Super Computador” é um Core I5 com tudo que tem direito, infelizmente na minha casa a realidade não é a mesma e por isso comecei a ficar um pouco desanimado para trabalhar em casa visto que na agência o meu computador é muito mais rápido, como eu não sou um cara conhecido pela minha enorme paciência decidi dar um jeito nessa situação.</p>
<p>Conversando com um amigo da agência que “detona” Photoshop ele me deu uma dica muito valiosa que ajudou muito no meu modesto PC, a modificação consiste em alterar alguns itens de performance do Photoshop então siga os passos abaixo e divirta-se com um photoshop muito mais rápido.</p>
<p><strong>Passo 1</strong></p>
<p>Vá na aba Edit > Preferences > Performance</p>
<p><img class="alignnone" title="Preference Photoshop" src="http://www.lucasmarcal.com.br/images/blog/preferences.jpg" alt="" width="400" height="306" /></p>
<p>Em Memory Usage aumente a quantidade de memória que seu photoshop vai usar para trabalhar, eu deixei com 77%</p>
<p>Em Scratch Disk você pode configurar vários locais onde o photoshop vai guardar arquivos temporários mas para isso você <strong>dever</strong> ter um segundo HD instalado no seu PC, lembre-se não basta apenas ter uma partição no seu HD é <strong>necessário</strong> outro HD físico instalado na maquina.</p>
<p>Em Advanced Settings você pode configurar outros modos de processamento de imagens eu optei pelo modo <em>Basic</em> como mostra a imagem abaixo e confesso que essa alteração foi a que mais deu resultado.</p>
<p><img class="alignnone" title="Advanced Photosho" src="http://www.lucasmarcal.com.br/images/blog/advanced.jpg" alt="" width="425" height="283" /></p>
<p><strong>Passo 2</strong><br />
Verifique a quantidade de fontes que você tem instalada no seu computador, o ideal é ter <strong>200</strong> fontes ou então no máximo <strong>1500</strong>, qualquer número acima desse vai influenciar diretamente na performance do seu photoshop.</p>
<p>Pronto, agora você pode trabalhar com um photoshop muito mais rápido do que antes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmarcal.com.br/blog/index.php/2011/07/aumentando-a-performance-do-seu-photoshop-cs5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chegou a hora, FlashCampBrasil to chegando!</title>
		<link>http://www.lucasmarcal.com.br/blog/index.php/2011/04/chegou-a-hora-flashcampbrasil-to-chegando/</link>
		<comments>http://www.lucasmarcal.com.br/blog/index.php/2011/04/chegou-a-hora-flashcampbrasil-to-chegando/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 12:57:00 +0000</pubDate>
		<dc:creator>Lucas</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Flashcampbrasil]]></category>
		<category><![CDATA[maceió]]></category>
		<category><![CDATA[salvador]]></category>

		<guid isPermaLink="false">http://www.lucasmarcal.com.br/blog/?p=214</guid>
		<description><![CDATA[Salve pessoal, finalmente o dia chegou, em menos de 4 horas estarei embarcando para o FlashCampBrasil, saio de minha queria cidade Ribeirão Preto ás 12:00 com destino a Salvador onde vou ficar por 10 horas, depois pego o voo para Maceió. Em Maceió vou ficar na praia do Frances e pra falar a verdade não [...]]]></description>
			<content:encoded><![CDATA[<p>Salve pessoal, finalmente o dia chegou, em menos de 4 horas estarei embarcando para o FlashCampBrasil, saio de minha queria cidade Ribeirão Preto ás 12:00 com destino a Salvador onde vou ficar por 10 horas, depois pego o voo para Maceió.</p>
<p>Em Maceió vou ficar na praia do Frances e pra falar a verdade não vejo a hora de chegar.</p>
<p>Esse blog vai tentar fazer uma cobertura legal para quem não vai ter a oportunidade de ir ao FlashCampBrasil, mesmo sabendo que as palestras serão transmitidas online, vou manter meu foco nas conversas internas e na troca de ideia que vai rolar entre profissionais de vários países.</p>
<p>As novidades não serão poucas, o FlashCampBrasil vai me dar uma visão muito ampla do que será o mercado de web nos próximos anos e você vai poder acompanhar aqui essas informações.</p>
<p>Mudei o Skin do Blog para ficar mais “a cara” do Brasil e estou equipado com meu Motorola Milestone 3G e meu Ipad de 16gb com eles espero trazer muitas informações para vocês.</p>
<p>Junto comigo vai o meu brother Raphael Dib redator aqui da Alta, vale a pena seguir ele pelo Twitter <a href="http://twitter.com/escreve" target="_blank">@escreve</a></p>
<p>Para informações mais dinâmicas me segue pelo Twitter <a href="http://twitter.com/lmcosta" target="_blank">@lmcosta</a> ou então pelo <a href="http://www.facebook.com.br/flashdeveloper" target="_blank">Facebook</a></p>
<p>Um abraço a todos, o próximo post será direto da terra do axé!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmarcal.com.br/blog/index.php/2011/04/chegou-a-hora-flashcampbrasil-to-chegando/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como se tornar um Flash Developer de sucesso</title>
		<link>http://www.lucasmarcal.com.br/blog/index.php/2011/03/como-se-tornar-um-flash-developer-de-sucesso/</link>
		<comments>http://www.lucasmarcal.com.br/blog/index.php/2011/03/como-se-tornar-um-flash-developer-de-sucesso/#comments</comments>
		<pubDate>Sun, 27 Mar 2011 06:51:58 +0000</pubDate>
		<dc:creator>Lucas</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[agências]]></category>
		<category><![CDATA[carreira]]></category>
		<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.lucasmarcal.com.br/blog/?p=201</guid>
		<description><![CDATA[Um resumo do que eu acredito ser os conhecimentos fundamentais para se tornar um bom Flash Developer]]></description>
			<content:encoded><![CDATA[<p>Salve pessoal!</p>
<p>Essa semana eu inicie a fase de contratações da equipe que vai trabalhar comigo em um projeto nos próximos meses, entre horas de pesquisa e análise de possibilidades eu me deparei com uma situação engraçada e atípica, pesquisando sobre média salarial de profissionais de agências de publicidade encontrei um <a href="http://www.adnews.com.br/negocios.php?id=104904" target="_blank">estudo</a> feito pela <a href="http://www.abradirj.com.br/Default.php" target="_blank">ABRADI</a> (Associação Brasileira de agências digitais), esse estudo mostra o salário dos profissionais de agências digitais descriminado por áreas e níveis de conhecimento.</p>
<p>Para minha surpresa percebi que nesse estudo Flash Developers estão na lista dos mais bem pagos do mercado, ficando atrás apenas de profissionais de atendimento, planejamento e diretores.</p>
<p>Essa grata surpresa me incitou a escrever uma matéria sobre quais são as principais características e os principais conhecimentos de um Flash Developer Sênior, basicamente nessa matéria vou descrever sob o meu ponto de vista os conhecimentos que um “Flash Developer” tem que ter para alcançar o topo da agência onde trabalha ou vai trabalhar.</p>
<h2>Fuja das brigas sobre qual tecnologia é a melhor</h2>
<p>O Flash há muito tempo desperta amor e ódio nas pessoas, varias vezes eu me vi incluso em “brigas” sobre qual é a melhor tecnologia e qual é o lugar do Flash na escala de desenvolvimento.</p>
<p>Minha opinião sobre o assunto sempre foi clara, caso alguém me mostre uma tecnologia que seja tão hibrida quanto o Flash no quesito integração com outras tecnologias, ferramentas de desenvolvimento, documentação oficial útil e descomplicada, cursos, metodologia, comunidade de desenvolvimento ativa, padronização de desenvolvimento e possibilidade de desenvolvimento para várias plataformas, nesse dia eu com certeza vou parar de trabalhar com Flash/Actionscript e aprender essa incrível tecnologia que terá batido o Flash, até esse dia, eu prefiro continuar no mundo da plataforma flash. Então fica a dica, não perca seu tempo nesse tipo de discussão, deixe que cada um escolha seu caminho, acredite, isso vai ser melhor para você!</p>
<h2>Aprenda a desenvolver usando OOP</h2>
<p>Se você é um verdadeiro “Flash Developer” com certeza já fez alguma coisa em OOP, esse padrão de programação pode salvar a sua vida quando o tempo for curto e o projeto desafiador. Para saber mais acesse esse <a href="http://www.lucasmarcal.com.br/blog/index.php/2009/12/tutoriais-de-oop-em-video-por-michel-araujo/" target="_blank">link</a></p>
<h2>Use um Framework para facilitar o desenvolvimento</h2>
<p>Frameworks ajudam você a manter um padrão de desenvolvimento e diminuem o tempo de tarefas simples, existem ótimos frameworks de desenvolvimento, entre eles eu destaco o <a title="Iniciando um projeto utilizando Gaia Framework" href="http://www.lucasmarcal.com.br/blog/index.php/2011/03/iniciando-um-projeto-utilizando-gaia-framework/" target="_blank">Gaia Framework</a> e o <a href="http://code.google.com/p/asf-as3/" target="_blank">ASF-AS3(Neto Leal)</a>. Use sem moderação!</p>
<h2>Aprenda integrar redes sociais</h2>
<p>Não é novidade alguma que as redes sociais revolucionaram a forma como as coisas acontecem na web, então é muito importante que você saiba integrar diversos serviços ao seus sites/aplicativos em Flash, serviços como Youtube, Facebook, Twitter e Flickr tem áreas específicas para desenvolvedores de várias tecnologias e em todas elas você pode encontrar APIs para auxiliar no desenvolvimento de seus sites/aplicativos.</p>
<h2>Aprenda uma linguagem de programação Server-Side</h2>
<p>Não que você tenha que ser um expert nessa linguagem, mas é muito bom você ter a visão do “outro lado”, não serão poucas as vezes que vão querer que aquele “hotsitezinho” que você fez tenha uma área administrativa e grave/leia dados de um banco de dados, ou que aquele outro programador “mala” vai dizer que isso ou aquilo não é possível com flash, nesse caso eu indico duas tecnologias exatamente nessa ordem, Coldfusion e PHP. Não se esqueça de aprender a trabalhar bem com Mysql, mas atenção, você não vai se tornar o melhor programador Serve-Side do mundo então tente não perder sua “veia” de design com essas tecnologias o interessante é você ainda continuar “mandando bem” em áreas fundamentais como Motion e Design.</p>
<h2>Todo Flash Developer TEM que saber trabalhar com Photoshop</h2>
<p>Isso pode levantar certa polêmica, mas a grande verdade é que se você pretende ser um Flash Developer e gerenciar um projeto é fundamental que você conheça profundamente o Photoshop, que tenha uma boa noção de design, tipografia e afins e conheça muito de motion design, por mais que digam o contrário 80% do trabalho de um Flash Developer é dar vida a interfaces malucas criadas por Diretores de Arte ainda mais malucos!</p>
<h2>Animação via código é muito melhor que Timeline</h2>
<p>Falar isso para os desavisados pode parecer uma heresia, mas a verdade é que, seja um banner, um hotsite ou um grande site é muito melhor você fazer todas as transições e motions via código, nesse caso eu indico que você use a <a href="http://www.greensock.com/" target="_blank">Greensock</a>. Trabalhando dessa forma você terá uma facilidade maior na hora de fazer aquele ajuste fino ou implementar aquela alteração de última hora.</p>
<h2>Tenha boas referências</h2>
<p>A comunidade de desenvolvimento Flash é muito unida, existem vários blogs como o meu que visam o crescimento profissional das pessoas sem nada em troca, é fundamental que você tenha boas referencias, que fique ligado nas constantes novidades que circulam no mundo da plataforma flash(sabe o que é <a href="http://www.adobe.com/cfusion/search/index.cfm?term=molehill&amp;siteSection=home&amp;loc=en_us" target="_blank">molehill</a>?), quer saber quem são as minhas referencias? Segue o <a title="Estudos diários" href="http://www.lucasmarcal.com.br/blog/index.php/estudos-diarios/" target="_blank">link</a>. Outra dica, tenha uma pagina de Labs sempre atualizada ou então crie um blog para compartilhar seus conhecimentos e experiências, isso coloca você em destaque na comunidade e pode abrir portas para bons trabalhos =)</p>
<h2>Editor de código</h2>
<p>A IDE do flash é muito boa, na versão CS5 o pessoal da Adobe melhorou bastante o editor de código, porém, ele está longe de ser a melhor opção do mercado, eu particularmente uso o <a href="http://www.flashdevelop.org/community/viewforum.php?f=11" target="_blank">FlashDevelop</a> para fazer isso, mas o Flash Builder 4 também é uma boa opção, escolha a sua!</p>
<h2>Pense fora da caixa</h2>
<p>Há muito tempo o flash player domina as estatísticas de software mais instalado do mundo, mas é importante saber que o Flash não serve apenas para desenvolver sites, hoje em dia existe uma infinidade de dispositivos que utilizam o flash player, hoje você pode criar conteúdo para Iphone, Ipad, Smartphones com Android e tablets como o Motorola Xoom. Eu acho muito importante estar sempre ligado nessas novas possibilidades e de preferência ter um (ou todos) para estudos, pense fora da caixa, quem sabe isso não vai te render uma grana extra!</p>
<h2>Em casa de ferreiro o espeto é de pau, mas não deveria ser!</h2>
<p>Tenha sempre um portfólio bem atualizado, eu não posso falar disso com muita autoridade, pois há três anos venho tentando ter tempo para atualizar meu site, kaekae, mas é fundamental que você tenha um portfólio online que mostre exatamente o que você é capaz de fazer, ele com certeza vai ser decisivo na hora da contratação para uma empresa ou freela.</p>
<h2>Curso, congressos, atualize-se!</h2>
<p>É importante que você faça pelo menos uma vez ao ano uma reciclagem de seus conhecimentos, eu particularmente guardo 5% do que ganho ao ano para fazer isso, esse ano vou estar no <a href="http://events.actioncreations.com/flashcampbrasil/portugues/" target="_blank">FlashCampBrasil</a>, uma dica que deixo são os cursos do <a href="http://www.lucianoaugusto.com.br/v2/" target="_blank">Luciano Augusto</a> o cara manda super bem em cursos a distância.</p>
<h2>Saiba cobrar por seus projetos e não vacile nos prazos.</h2>
<p>O maior erros do Flash Developer está na hora de passar o orçamento, acredite, nós estamos no topo da cadeia alimentar dos desenvolvedores, quando aparecer aquele freela não fique com medo de cobrar o valor real, você é um Flash Developer e sua hora é uma das mais caras do mercado.<br />
Outra coisa importante são os prazos, saiba quanto tempo você leva para fazer determinadas atividades comuns a um Flash Developer, não cumprir prazos está fora de questão e lembre-se sempre existe alguém que conhece outro alguém e uma vez queimado no mercado você estará fadado ao limbo!</p>
<p>Não existe limite para a criatividade dentro do flash, não desanime o caminho é longo mais as recompensas em R$ são grandes depois de um tempo!</p>
<p>Deixe um comentário sobre esse artigo e não se faça de difícil se precisar de ajuda!<br />
Um abraço</p>
<p><a href="http://pt-br.facebook.com/flashdeveloper" target="_blank">Meu perfil no Facebook</a><br />
<a href="http://www.twitter.com/lmcosta" target="_blank"> Meu Twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmarcal.com.br/blog/index.php/2011/03/como-se-tornar-um-flash-developer-de-sucesso/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Iniciando um projeto utilizando Gaia Framework</title>
		<link>http://www.lucasmarcal.com.br/blog/index.php/2011/03/iniciando-um-projeto-utilizando-gaia-framework/</link>
		<comments>http://www.lucasmarcal.com.br/blog/index.php/2011/03/iniciando-um-projeto-utilizando-gaia-framework/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 10:47:29 +0000</pubDate>
		<dc:creator>Lucas</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[gaiaframework]]></category>

		<guid isPermaLink="false">http://www.lucasmarcal.com.br/blog/?p=144</guid>
		<description><![CDATA[Nesse tutorial eu ensino como iniciar o desenvolvimento de sites em flash usando o Gaia Framework]]></description>
			<content:encoded><![CDATA[<p>Salve pessoal<br />
Estou voltando à ativa nesse blog, espero que agora eu encontre tempo para criar os tutoriais.</p>
<p>Inicialmente gostaria de deixar claro que o foco desse blog não é o público que eu chamo de &#8220;Hard ActionScript Developer&#8221; o meu foco são aqueles desenvolvedores que estão iniciando ou que são intermediários no mundo do Actionscript 3.0, então nem sempre vamos focar no &#8220;melhor código&#8221; para os exemplos, mesmo porque eu nem teria tempo para fazer isso, na verdade a minha intenção e abordar superficialmente algumas coisas que vejo no meu dia-a-dia e apresentar coisas realmente usuais para todos.</p>
<p>Dito isso, fica claro que não tenho a intenção de criar uma metodologia definitiva para desenvolvimento, então pegue leve nas críticas =)</p>
<p>Hoje vamos falar sobre a utilização do <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> para desenvolvimento de pequenos projetos (games, hotsites etc&#8230;)</p>
<h2>O que é o Gaia Framework?</h2>
<p>O <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> é um projeto Open-Source para Actionscript 2.0 e 3.0 que visa facilitar sua vida na hora de desenvolver projetos em Flash, ele reduz drasticamente o tempo que você leva desenvolvendo, pois cria automaticamente alguns dos processos comuns a qualquer site em Flash.<br />
Com o <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> é possível criar sites usuais em flash em pouco tempo com características que você levaria horas para fazer tais como:</p>
<p>1.	Navigation<br />
2.	Transitions<br />
3.	Preloading<br />
4.	Asset Management<br />
5.	Dynamic Font Loading<br />
6.	SEO<br />
7.	DeepLinks</p>
<p>Para maiores informações e detalhes sobre o que é o <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> acesse o <a href="http://www.gaiaflashframework.com/">site</a></p>
<h2>Instalando o Gaia Framework</h2>
<p>Acesse o <a href="http://www.gaiaflashframework.com/">site</a> e faça download do arquivo MXP do <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a>, feito isso clique duas vezes no arquivo para instalar. Abra o Adobe Flash Cs5 e vá na aba Help &gt; Manage Extentions ,certifique-se que o <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> esteja instalado corretamente como na imagem abaixo:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/ManageExtention.jpg"><img class="alignnone size-medium wp-image-150" title="ManageExtention" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/ManageExtention-300x224.jpg" alt="" width="300" height="224" /></a></p>
<p>Pronto, agora o seu Adobe Flash Cs5 já está pronto para trabalhar com o <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a>.</p>
<h2>Instalando Gaia Site Creator</h2>
<p>O <a href="http://wadearnold.com/blog/flash/gaia-framework-sitecreator-air-sitexml-editor" target="_blank">Gaia Site Creator</a> é um aplicativo AIR que facilita ainda mais o desenvolvimento com <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> ele irá nos ajudar na hora de criar o arquivo &#8220;site.xml&#8221; que define as &#8220;paginas&#8221; que nosso site em Flash vai ter, sobre esse arquivo XML vamos falar nas próximas aulas, por hora apenas acesse o <a href="http://wadearnold.com/blog/flash/gaia-framework-sitecreator-air-sitexml-editor" target="_blank">site</a> e instale o Gaia Site Creator.</p>
<h2>Criando 1º projeto com Gaia Framework</h2>
<p>Com o Adobe Flash Cs5 aberto vá na aba Window &gt; Other Panels &gt; Gaia Framework<br />
Uma janela como essa vai se abrir para você:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiapainel1.jpg"><img class="alignnone size-medium wp-image-153" title="gaiapainel1" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiapainel1-264x300.jpg" alt="" width="264" height="300" /></a></p>
<p>1.	Criar um novo projeto em Actionscript 3.0<br />
2.	Criar um novo projeto em Actionscript 2.0 (sai fora, credo!)<br />
3.	Importar um projeto existente<br />
4.	Fazer uma doção para o Steven Sacks =)<br />
5.	Lista de projetos criados (ainda em branco)</p>
<p>Esse é o painel que você vai trabalhar durante todo o tempo de desenvolvimento com o <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> aconselho você a deixar ele em um lugar de fácil acesso durante o desenvolvimento.<br />
Agora é a hora de começarmos realmente a desenvolver utilizando o <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a>, com o painel do <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> aberto clique no botão &#8220;Create AS3&#8243; e configure como a imagem abaixo:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiapainel2.jpg"><img class="alignnone size-medium wp-image-156" title="gaiapainel2" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiapainel2-111x300.jpg" alt="" width="111" height="300" /></a></p>
<p>1.	Nome do projeto que vamos desenvolver<br />
2.	Pasta raiz do projeto<br />
3.	Versão do Flash Player que esse projeto vai ser compilado<br />
4.	Versão do <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> e do Greensock (motor de animação) utilizado<br />
5.	Tamanho do Stage, Framerate e cor<br />
6.	Estrutura de pastas criada pelo <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> aconselho a deixar dessa forma<br />
7.	Tipo de projeto utilizado, nesse exemplo vamos usar o FlashDevelop para desenvolver</p>
<p>Com todos esses requisitos preenchidos clique no botão &#8220;Create New Project&#8221; para criar o projeto do <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a>.<br />
Pronto, o <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> acabou de criar a estrutura básica para trabalharmos o  projeto veja como ficou nossa estrutura:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/estruturaPastas1.jpg"><img class="alignnone size-medium wp-image-159" title="estruturaPastas1" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/estruturaPastas1-300x294.jpg" alt="" width="300" height="294" /></a></p>
<p>1.	Arquivo de configuração do <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a><br />
2.	Arquivo de projeto do FlashDevelop<br />
3.	Pastas com arquivos publicáveis (swf, imagens, XML&#8230;)<br />
4.	Pasta com os arquivos FLAs<br />
5.	Pasta com os arquivos .as<br />
6.	Pasta com os templates (não vamos usar mais não delete)</p>
<p>Agora é hora de configurar o arquivo &#8220;site.xml&#8221; que determina quais &#8220;paginas&#8221; serão criadas em nosso projeto, lembra do nosso amigo <a href="http://wadearnold.com/blog/flash/gaia-framework-sitecreator-air-sitexml-editor" target="_blank">Gaia Site Creator</a>? Então é hora de iniciar ele, com o <a href="http://wadearnold.com/blog/flash/gaia-framework-sitecreator-air-sitexml-editor" target="_blank">Gaia Site Creator</a> aberto importe o arquivo &#8220;site.xml&#8221; que se encontra dentro da pasta &#8220;bin&gt;xml&#8221; o arquivo deve aparecer como na imagem abaixo:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiasitecreator1.jpg"><img class="alignnone size-medium wp-image-162" title="gaiasitecreator1" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiasitecreator1-300x236.jpg" alt="" width="300" height="236" /></a></p>
<p>Essa é a estrutura básica que o <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> cria para o projeto, porém, não é a estrutura que vamos usar para esse projeto inicial siga os próximos passos para configurar corretamente o arquivo &#8220;site.xml&#8221;<br />
Clique no item &#8220;home&#8221; e no item &#8220;id:nav&#8221; e arraste eles para o campo vermelho chamado &#8220;drop here to delete&#8221; como mostra a figura abaixo:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiasitecreator2.jpg"><img class="alignnone size-medium wp-image-165" title="gaiasitecreator2" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiasitecreator2-300x235.jpg" alt="" width="300" height="235" /></a></p>
<h2>Configurando um projeto de portfólio dentro do Gaia Site Creator</h2>
<p>O item &#8220;id:index&#8221; funciona como uma &#8220;Main page&#8221; ele é o root do nosso aplicativo(existe ainda uma classe chamada &#8220;Main.as&#8221; mas vamos falar sobre ela depois. Nesse projeto todas as paginas serão filho da pagina &#8220;índex.fla&#8221;</p>
<p>Para criar um novo &#8220;filho&#8221; no arquivo &#8220;site.xml&#8221; você deve clicar na aba &#8220;assets&#8221; do <a href="http://wadearnold.com/blog/flash/gaia-framework-sitecreator-air-sitexml-editor" target="_blank">Gaia Site Creator</a> e arrastar o item &#8220;New Page&#8221; para dentro do item &#8220;id:index&#8221; e depois configurar algumas propriedades como mostra na figura abaixo:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiasitecreator3.jpg"><img class="alignnone size-medium wp-image-166" title="gaiasitecreator3" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiasitecreator3-300x272.jpg" alt="" width="300" height="272" /></a></p>
<p>1.	Nome utilizado posteriormente para acessar essa pagina<br />
2.	Nome do arquivo swf que será criado quando o <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> for compilado<br />
3.	Titulo da &#8220;pagina&#8221; quando esse arquivo for acessado</p>
<p>A descrição para as outras configurações desse arquivo não serão abordadas nesse momento e podem ser encontradas nesse <a href="http://www.gaiaflashframework.com/wiki/index.php?title=Portugu%C3%AAs:XML_do_site">link</a></p>
<p>Antes que eu esqueça de dizer esse projeto vai ser um portfólio de um Flash Developer como eu e você então a estrutura de paginas vai ser como mostra a imagem abaixo:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiasitecreator41.jpg"><img class="alignnone size-medium wp-image-170" title="gaiasitecreator4" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiasitecreator41-300x195.jpg" alt="" width="300" height="195" /></a></p>
<p>1.	Pagina de apresentação<br />
2.	Perfil do desenvolvedor<br />
3.	Portfólio<br />
4.	Fotos<br />
5.	Vídeos<br />
6.	Contato</p>
<p>A minha intenção com esse tutorial é que posteriormente eu mostre como trabalhar com algumas classes que utilizo então podemos explorar integrações com Twitter, Flickr, Youtube etc&#8230; Esse projeto vai servir como base para outros tutoriais.</p>
<p>Criada essa estrutura  dentro do <a href="http://wadearnold.com/blog/flash/gaia-framework-sitecreator-air-sitexml-editor" target="_blank">Gaia Site Creator</a> clique na aba &#8220;file &gt; Export &gt; ExportSiteXML&#8221; e sobrescreva o arquivo &#8220;site.xml&#8221; com essa nova configuração, abra esse arquivo dentro do software Flash Develop (imagino que você já esteja utilizando ele para desenvolver seus projetos) a estrutura do arquivo &#8220;site.xml&#8221; ficou da seguinte forma:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/fld_1.jpg"><img class="alignnone size-medium wp-image-171" title="fld_1" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/fld_1-300x139.jpg" alt="" width="300" height="139" /></a></p>
<p>Se você seguiu todos os passos que descrevi acima, abra novamente o Adobe Flash Cs5, com o painel do <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> aberto vá até a aba &#8220;scaffold&#8221; e clique em &#8220;scaffold project&#8221;.</p>
<p>Ele vai criar todos aqueles arquivos que configuramos no &#8220;site.xml&#8221; dentro da pasta de projeto, aguarde os arquivos serem criados/compilados, ao final desse processo ele vai abrir uma aplicação como na figura abaixo:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/projeto1.jpg"><img class="alignnone size-medium wp-image-174" title="projeto1" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/projeto1-300x197.jpg" alt="" width="300" height="197" /></a></p>
<p>Agora no painel do <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> a aba que ficou marcada é &#8220;Publish&#8221; clique no botão &#8220;save&#8221; que fica no canto direito superior para salvar esse projeto. Agora na lista de projetos criados você tem todos os projetos que está trabalhando no <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> como mostra uma visão dos meus projetos na figura abaixo:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiapainel3.jpg"><img class="alignnone size-medium wp-image-177" title="gaiapainel3" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiapainel3-234x300.jpg" alt="" width="234" height="300" /></a></p>
<p>Clique duas vezes sobre o projeto que estamos trabalhando, vá até a aba &#8220;publish&#8221; clique na pasta &#8220;lib&#8221; e veja que todos os arquivos configurados no &#8220;site.xml&#8221; foram criados dentro do projeto como mostra a figura abaixo:</p>
<p><a href="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiapainel4.jpg"><img class="alignnone size-medium wp-image-179" title="gaiapainel4" src="http://www.lucasmarcal.com.br/blog/wp-content/uploads/2011/03/gaiapainel4-169x300.jpg" alt="" width="169" height="300" /></a></p>
<p>1.	Esse botão deve ser usado sempre que você fizer alterações nos arquivos, não adianta apenas dar um CTRL+Enter no arquivo é preciso clicar nesse botão para compilar os arquivos marcados na lista, caso algum arquivo não esteja marcado ele <strong>NÃO</strong> vai compilar o arquivo<br />
2.	Botão abre a pasta raiz do projeto<br />
3.	Lista de arquivos do projeto<br />
4.	Esse botão sincroniza as modificações feitas no arquivo &#8220;site.xml&#8221; e vamos tratar disso nos próximos tutoriais</p>
<p>Clique no botão &#8220;Test Project&#8221; para ver o resultado desse tutorial, lembrando que essa tela preta que aparece é fruto de uma configuração inicial feita pelo <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a>, se você abrir por exemplo a pagina &#8220;home.fla&#8221; não vai ver nenhum &#8220;asset&#8221; dentro dela ou da library, não se assuste vamos tratar desses e de outros assuntos no próximo tutorial.</p>
<p>Nesse tutorial não vamos abordar o desenvolvimento do menu do site, então para navegar no projeto feito até aqui utilize o botão direto do mouse e clique no ContextMenu para navegar entre as paginas.</p>
<h2>Conclusão</h2>
<p>Nesse tutorial eu abordei os aspectos básicos para desenvolver usando o <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a>, veja que não fizemos nenhuma linha de código, mas não se engane existem muitas coisas para aprender ainda.</p>
<p>No próximo tutorial vou falar sobre a estrutura de pastas criadas pelo <a href="http://www.gaiaflashframework.com/" target="_blank">Gaia Framework</a> e como iniciar nosso projeto com as modificações em Actionscript 3.0 ou seja, prepare-se para programar no próximo tutorial.</p>
<h3><span style="font-weight: normal;">Arquivos utilizados no tutorial</span></h3>
<p><a href="http://www.lucasmarcal.com.br/tutorial/primeirotutorial/Tutorial_Gaia_Framework_1.rar" target="_blank">Baixar</a></p>
<h3><span style="font-weight: normal;">Resultado desse tutorial</span></h3>
<p><a href="http://www.lucasmarcal.com.br/tutorial/primeirotutorial/gaiaframework/" target="_blank">Link</a></p>
<p><a href="http://pt-br.facebook.com/flashdeveloper" target="_blank">Meu perfil no Facebook</a><br />
<a href="http://www.twitter.com/lmcosta" target="_blank"> Meu Twitter</a></p>
<p>Uma abraço a todos, divulguem esse tutorial!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmarcal.com.br/blog/index.php/2011/03/iniciando-um-projeto-utilizando-gaia-framework/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>FlashCampBrasil 2011 Eu Vou!</title>
		<link>http://www.lucasmarcal.com.br/blog/index.php/2011/03/flashcampbrasil-2011-eu-vou/</link>
		<comments>http://www.lucasmarcal.com.br/blog/index.php/2011/03/flashcampbrasil-2011-eu-vou/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 06:20:52 +0000</pubDate>
		<dc:creator>Lucas</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Flashcampbrasil]]></category>

		<guid isPermaLink="false">http://www.lucasmarcal.com.br/blog/?p=137</guid>
		<description><![CDATA[A aventura começa dia 07/04/2011 FlashCampBrasil 2011 eu vou!]]></description>
			<content:encoded><![CDATA[<p>Salve pessoal</p>
<p>E finalmente eu tomei vergonha na cara e decidi investir uma grana no meu crescimento profissional, estou aqui para confirmar que vou estar no <a href="http://www.flashcampbrasil.com.br">FlashCampBrasil 2011</a> que acontecerá nos dias 8 e 9 de Abril em Maceió.</p>
<p>No ano passado eu estava envolvido com um projeto muito grande que tomava todo o meu tempo e infelizmente não pude participar durante os dias do evento eu fiquei extremamente decepcionado comigo por não participar e aprender, mas esse ano tudo mudou, estou atualmente trabalhando na Alta Comunicazione e juntamente com meu amigo redator Raphael Dib vamos embarcar para essa aventura no dia 07/04/2011 levando na mala muita vontade de aprender e uma disposição sem igual para participar de quase todas as palestras.</p>
<p><strong>A aventura</strong></p>
<p>Arrumar tempo para participar do <a href="http://www.flashcampbrasil.com.br">FlashCampBrasil</a> não foi nada fácil, atualmente como FlashDeveloper e Art Director da Alta Comunicazione meu tempo é curto e valioso e somente um evento dessa grandeza poderia me tirar da frente do PC, gostaria de agradecer ao meu “chefe” e amigo <a href="http://www.twitter.com/migueldebs">@migueldebs</a> por permitir essa pausa nas minhas atividades e o financiamento de parte dessa aventura “Vlw Brother, é nóis!”</p>
<p>Para aqueles que moram em Ribeirão Preto e estão pensando em ir eu gostaria de deixar a dica, não é caro e vale cada centavo, depois de muita pesquisa do Raphael Dib conseguimos tudo pelo valor de R$ 430,00 e esse “tudo” inclui dois dias em Salvador (escala do avião) , dois dias em Maceió através da Webjet e da GOL e o aluguel de um carro para nos deslocarmos por lá, a grana da bebida e da bagunça não está inclusa nesse valor, mas acredito que no total não vou gastar mais do que R$ 700,00.</p>
<p>Lembrando aos azarados que não vão participar do <a href="http://www.flashcampbrasil.com.br">FlashCampBrasil</a> que esse autor vai fazer nesse blog um resumo diário do que aconteceu no evento, mas caso queiram ficar mais informados sigam meu Twitter <a href="http://www.twitter.com/lmcosta">@lmcosta</a> </p>
<p>Para os que vão ao <a href="http://www.flashcampbrasil.com.br">FlashCampBrasil</a> deixo aqui o meu “salve!” espero conhecer vários amigos de MSN,facebook e twitter pessoalmente em Maceió, quem sabe não rola uma cervejada por lá!</p>
<p>Abraços</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmarcal.com.br/blog/index.php/2011/03/flashcampbrasil-2011-eu-vou/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slide Itens em Actionscript 3.0</title>
		<link>http://www.lucasmarcal.com.br/blog/index.php/2009/11/slide-itens-em-actionscript-3-0/</link>
		<comments>http://www.lucasmarcal.com.br/blog/index.php/2009/11/slide-itens-em-actionscript-3-0/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 00:34:54 +0000</pubDate>
		<dc:creator>Lucas</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[FullSlide]]></category>

		<guid isPermaLink="false">http://www.lucasmarcal.com.br/blog/?p=50</guid>
		<description><![CDATA[Classe que cria um slide na vertical e na horizontal usando Actionscript 3.0]]></description>
			<content:encoded><![CDATA[<p>Salve pessoal, durante muito tempo em uma determinada agência que eu trabalhei eu utilizei essa classe (ainda em Actionscript 2.0) para apresentar produtos, imagens, noticias etc&#8230;<br />
Por esse motivo decidi fazer uma versão dela para Actionscript 3.0 espero que ela possa ser útil á você nos seus trabalhos assim como ela foi muito útil para mim!<br />
Lembre-se siga-me no Twitter <a href="http://www.twitter.com/lmcosta">@lmcosta</a></p>
<p>Classe FullSlide.as</p>
<pre class="brush: as3; first-line: 8; gutter: false; pad-line-numbers: false; title: ; wrap-lines: false;">
/**
 * @author  Lucas Marçal
 * @link    www.lucasmarcal.com.br/blog
 * @email   inbox@lucasmarcal.com.br
 * @version 1.0
 */
package lmcosta.slide
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import gs.*;
	import gs.easing.*;

	public class FullSlide extends MovieClip
	{
		/**
		 * DEFININDO PROPRIEDADES
		 */
		private var itensMc:Array;
		private var tipoSlide:String;
		private var posX:Number;
		private var posY:Number;
		private var distanciaItens:Number;
		private var distanciaItensFoco:Number;
		private var tempoEase:Number;
		private var distancia:Number;
		private var itemAtual:Number;
		private var itemX:Number;
		private var itemY:Number;

		public function FullSlide() {}

		/**
		 *
		 * @param	tipo:            Tipo de alinhamento X ou Y
		 * @param	arr :            Array que contém os MovieClips
		 * @param	distancia:       Distancia dos MovieClips na hora do alinhamento
		 * @param	foco:            Distancia que o item deve se mover
		 * @param	indiceAtual:     MovieClip Atual
		 * @param	posicaoX:        Posição em X
		 * @param	posicaoY:        Posição em Y
		 */
		public function setSlide(tipo:String,arr:Array,distancia:Number, foco:Number,indiceAtual:Number,posicaoX:Number,posicaoY:Number):void
		{
			this.tipoSlide = tipo;
			this.itensMc = arr;
			this.itemAtual = indiceAtual;
			this.distanciaItens = distancia;
			this.distanciaItensFoco = foco;
			this.posX = posicaoX;
			this.posY = posicaoY;
			this.tempoEase = 0.5;
			setPosItens();
		}

		private function setPosItens():void
		{

			for (var i:Number = 0; i &lt; this.itensMc.length; i++)
			{
				if (this.tipoSlide == &quot;Y&quot;)
				{
					this.distancia = this.itemAtual - i;
					this.itemY = this.posY + (this.distancia * - this.distanciaItens);
					this.itensMc[i].x = Math.round(this.posX);
					if (this.distancia != 0)
					{
						this.itemY += (Math.round(this.distanciaItensFoco) - Math.round(this.distanciaItens)) * (Math.round(this.distancia) &gt; 0 ? -1 : +1);
					}
					TweenMax.to(this.itensMc[i], this.tempoEase, {y:Math.round(this.itemY),ease:Expo.easeOut});
				}
				else
				{
					this.distancia = this.itemAtual - i;
					this.itemX = this.posX + (this.distancia * - this.distanciaItens);
					this.itensMc[i].y = Math.round(this.posY);
					if (this.distancia != 0)
					{
						this.itemX += (Math.round(this.distanciaItensFoco) - Math.round(this.distanciaItens)) * (Math.round(this.distancia) &gt; 0 ? -1 : +1);
					}
					TweenMax.to(this.itensMc[i], this.tempoEase, {x:Math.round(this.itemX),ease:Expo.easeOut});
				}
				if(i - this.itensMc.length != 1)
				{
					TweenMax.to(this.itensMc[i], this.tempoEase, { blurFilter: { blurX:10, blurY:10, quality:1 }, z:1 } );
				}
				if (this.tempoEase &gt; 0)
				{
					TweenMax.to(this.itensMc[this.itemAtual], this.tempoEase/2, {blurFilter:{blurX:0,blurY:0, quality:2},z:1});
				}
				var refItem:MovieClip = this.itensMc[i] as MovieClip;
				refItem.buttonMode = true;
				refItem.addEventListener(MouseEvent.MOUSE_DOWN , onDown);
				refItem.addEventListener(MouseEvent.MOUSE_OVER , onOver);
				refItem.addEventListener(MouseEvent.MOUSE_OUT , onOut);
				refItem.nome = i;
			}
		}

		public function moveItens(indice:Number):void
		{
			this.setItens(this.itemAtual + indice);
		}

		private function setItens(indice:Number):void
		{

			if (indice &lt; 0) indice = 0;
			if (indice &gt; this.itensMc.length - 1) indice = this.itensMc.length - 1;
			if (indice != this.itemAtual)
			{
				this.itemAtual = indice;
				this.setPosItens();
			}
		}

		private function onOut(e:Event):void
		{
			TweenMax.to(e.target, 0.2, { tint:null, ease:Linear.easeNone } );
		}

		private function onOver(e:Event):void
		{
			TweenMax.to(e.target, 0.2, { tint:0xcccccc, ease:Linear.easeNone } );
		}

		private function onDown(e:Event):void
		{
			//trace(&quot;item &quot; + e.target.nome);
			this.setItens(e.target.nome)
		}

	}

}
</pre>
<p>BotaoControle.as</p>
<pre class="brush: as3; first-line: 8; gutter: false; pad-line-numbers: false; title: ; wrap-lines: false;">
/**
 * @author  Lucas Marçal
 * @link    www.lucasmarcal.com.br/blog
 * @email   inbox@lucasmarcal.com.br
 * @version 1.0
 */
package lmcosta.slide
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import lmcosta.slide.FullSlide

	public class BotaoControle extends FullSlide
	{
		internal var ref:FullSlide
		internal var indice:Number;

		public function BotaoControle(_objeto:MovieClip,_fullSlide:FullSlide,_qtdItemMove:Number)
		{
			this.ref = _fullSlide;
			this.indice = _qtdItemMove;

			_objeto.buttonMode = true;
			_objeto.addEventListener(MouseEvent.MOUSE_DOWN, onDow);
		}

		private function onDow(e:MouseEvent):void
		{
			this.ref.moveItens(this.indice);
		}
	}

}
</pre>
<p>Coloque esse código no frame de action da sua aplicação e crie os MovieClips.</p>
<pre class="brush: as3; first-line: 8; gutter: false; pad-line-numbers: false; title: ; wrap-lines: false;">
import lmcosta.slide.FullSlide
import lmcosta.slide.BotaoControle;

var mySlide:FullSlide = new FullSlide()
var _arr:Array =  new Array(mc1,mc2,mc3,mc4,mc5)

this.mySlide.setSlide(&quot;X&quot;,_arr,mc1.width, mc1.width,0,184,72);
var refVai:BotaoControle = new BotaoControle(btVai.btAtiva,this.mySlide,1)
var refVem:BotaoControle = new BotaoControle(btVem.btAtiva,this.mySlide,-1)

addChild(this.mySlide);
</pre>
<p><a href="http://www.lucasmarcal.com.br/labs/FullSlide.html">Exemplo</a><br />
<a href="http://www.lucasmarcal.com.br/labs/FullSlide.rar">Arquivos do Tutorial</a></p>
<p>Abraço a todos, semana que vem tem mais!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmarcal.com.br/blog/index.php/2009/11/slide-itens-em-actionscript-3-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Remoting + ColdFusion + AMFPHP</title>
		<link>http://www.lucasmarcal.com.br/blog/index.php/2009/10/flash-remoting-coldfusion-amfphp/</link>
		<comments>http://www.lucasmarcal.com.br/blog/index.php/2009/10/flash-remoting-coldfusion-amfphp/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 02:16:51 +0000</pubDate>
		<dc:creator>Lucas</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[Flash Remoting]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Actionscript 3.0]]></category>
		<category><![CDATA[AMFPHP]]></category>
		<category><![CDATA[ColdFusion 8]]></category>

		<guid isPermaLink="false">http://lucasmarcal.com.br/blog/?p=9</guid>
		<description><![CDATA[Resolvendo problemas na hora de conectar o flash ao Coldfusion através do Flash Remoting e do AMFPHP]]></description>
			<content:encoded><![CDATA[<p>Salve pessoal<br />
Historicamente eu sempre trabalhei com ColdFusion isso já tem alguns anos, porém nos últimos 2 anos e venho trabalhando bastante com PHP por motivos óbvios, a falta de programador ColdFusion visto que eu não faça mais todo o processo de desenvolvimento de um site.</p>
<p>Porém essa semana eu tive uma demanda de um site feito em flash que deveria consumir métodos de um CFC (ColdFusion Componente), como eu não fazia isso desde a época que eu trabalhava com AS2 decidi escrever uma nova classe para conexão em AS3 e foi exatamente ai que meus problemas começaram.</p>
<p>Primeiramente eu teria que instalar o ColdFusion 8 na minha maquina e de preferência ele deveria rodar em cima do Apache, para isso eu usei o Tutorial do meu brother Marcio Nakano:<br />
<strong><a href="http://www.zetaiweb.com.br/blog/index.php/2008/09/instalando-servidor-apache-com-mysql-e-as-linguagens-coldfusion-e-php/">Instalando servidor Apache com Mysql e as linguagens ColdFusion e PHP.</a></strong></p>
<p>Feito isso (e depois desfeito, pois achei que isso poderia ser a causa do erro que eu descrevo a seguir) agora era a hora de escrever a classe, mas por onde começar, Google é a solução? Não foi bem assim.</p>
<p>O material que fala sobre Flash Remoting + ColdFusion na web é bem fraco e muito confuso sem falar que a grande maioria é em inglês o que dificultou um pouco mais o entendimento já que não sou um expert na língua do “Tio Sam”, abaixo estão listados alguns dos melhores que encontrei:<br />
<strong><a href="http://delicious.com/theflashcoder/flashremoting?detail=3">Delicious Flash Remoting</a></strong></p>
<p>Foi então que tive a feliz idéia de Twittar essa minha raiva e logo depois recebi uma mensagem do <a href="http://twitter.com/netoleal">Neto Leal</a> e de <a href="http://twitter.com/bribeiro">Bruno Ribeiro</a> me oferecendo ajuda, na parte do <a href="http://twitter.com/netoleal">Neto Leal</a> ele me indicou esse link:<br />
<strong><a href="http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=othertechnologies_07.html">Ativando Flash Remoting</a></strong></p>
<p>Mesmo fazendo o que o link indica o erro ainda persistia foi então que comecei a trocar idéia com o <a href="http://twitter.com/bribeiro">Bruno Ribeiro</a>, depois de algumas dicas e do envio da classe que ele mesmo usa para fazer isso eu consegui conectar e consumir um método do ColdFusion.</p>
<p>Eu sempre digo isso, mas é bom reforçar, na vida uma das melhores coisas é ter amigos e eu agradeço ao <a href="http://twitter.com/netoleal">Neto Leal</a> e ao <a href="http://twitter.com/bribeiro">Bruno Ribeiro</a> pela ajuda, então nada mais lógico do que eu postar aqui a classe que eu fiz baseada nesse longo caminho percorrido para conseguir conectar o Flash ao ColdFusion e ao AMFPHP, lembrando que essa classe foi baseada na classe do <a href="http://twitter.com/bribeiro">Bruno Ribeiro</a> e não tenho a pretensão de achar que ela é a melhor do mundo, mas pelo menos ela funciona com ColdFusion e AMFPHP, segue o código:</p>
<p><strong>RemotingConexao.as</strong></p>
<pre class="brush: as3; first-line: 8; gutter: false; highlight: [10,11]; pad-line-numbers: false; title: ; wrap-lines: false;">
package lmcosta.remoto.cf
{
	import flash.display.MovieClip;

	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.NetStatusEvent;

	import flash.net.NetConnection;
	import flash.net.ObjectEncoding;
	import flash.net.Responder;
	import nl.demonsters.debugger.MonsterDebugger
	/**
	 * ...
	 * @author lmcosta
	 * @link www.lucasmarcal.com.br/blog - www.brunoribeiro.net
	 * @return
	 * @version 1.0
	 */

	public class RemotingConexao extends MovieClip
	{
		public var _servico    :        NetConnection;
		public var _responder  :        Responder;
		public var _fcnRetorno :        Function;
		public var _cfc        :        String;
		public var _metodo     :        String;
		public var _resultado  :        Object;
		public var debug       :        MonsterDebugger;

		public function RemotingConexao()
		{
			this._responder =                new Responder(resultado, falha);
			this._servico   =                new NetConnection();
			this._servico.objectEncoding =   ObjectEncoding.AMF0;
			this.debug = new MonsterDebugger(this);
			this._servico.connect(&quot;http://www.seudominio.com.br/flashservices/gateway&quot;);
			MonsterDebugger.trace(this, &quot;Chamou a classe de conexão:&quot;);
		}
		/**
		 *
		 * @param	$cfc = String que contém o caminho do CFC
		 * @param	$metodo = String com o nome do método do CFC
		 * @param	$fcnRetorno = Metodo de retorno na referencia dessa classe
		 * @param	$args = Argumentos
		 */
		public function consome($cfc:String = &quot;&quot; , $metodo:String=&quot;&quot; , $fcnRetorno:Function = null , $args:Object = null ):void
		{
			MonsterDebugger.trace(this, &quot;Consumindo metodo:&quot;);
			var refCFCMetodo:String = $cfc + &quot;.&quot; + $metodo;

			this._fcnRetorno = $fcnRetorno;
			this._cfc = $cfc;
			this._metodo = $metodo;

			if ($args == null)
			{
				MonsterDebugger.trace(this, &quot;Chamou sem parametros:&quot;);
				this._servico.call.apply(null, [refCFCMetodo, this._responder]);
			}
			else
			{
				MonsterDebugger.trace(this, &quot;Chamou com parametros: &quot; + $args);
				this._servico.call.apply(null, [refCFCMetodo, this._responder].concat($args));
			}

		}
		/**
		 *
		 * @param	f = Objeto que retorna Erros
		 */
		private function falha(f:Object):void
		{
			trace(&quot;fault&quot;+f.details);
			trace(&quot;fault&quot;+f.description);
		}
		/**
		 *
		 * @param	re = Objeto que retorna os resultados
		 * @return  Retorna o valor que veio do CFC na referencia da classe
		 */
		private function resultado(re:Object):Object
		{
			this._resultado = re;
			return this._fcnRetorno(this._resultado);
		}

	}

}
</pre>
<p><strong>Consumindo a classe</strong><br />
Para utilizar essa classe você deve criar um novo arquivo no Flash do tipo Actionscript 3.0, depois crie uma classe que no meu caso eu chamei de “Teste.as” e escreva o seguinte:</p>
<p><strong>Teste.as</strong></p>
<pre class="brush: as3; first-line: 8; gutter: false; highlight: [10,11]; pad-line-numbers: false; title: ; wrap-lines: false;">

package
{
	import flash.display.MovieClip;
	import lmcosta.remoto.cf.RemotingConexao;
	/**
	 * ...
	 * @author lmcosta
	 */
	public class Teste extends MovieClip
	{
		public var re:RemotingConexao

		public function Teste()
		{
			trace(&quot;Conetando.......&quot;)
			this.re =  new RemotingConexao();
			this.re.consome(&quot;remotoAS3.componente&quot;, &quot;ola&quot;, this.resultadoItem, {msg:&quot;Seja Bem vindo&quot;});
		}

		public function resultadoItem(obj:Object):void
		{
			trace(&quot;Tudo certo hora de trampar  &quot; + obj)
		}

	}

}
</pre>
<p><strong><a href="http://www.lucasmarcal.com.br/labs/TutorialFlashRemotingAS3.rar">Arquivos do Tutorial</a></strong></p>
<p>Para utilizar a mesma classe para conectar ao AMFPHP basta você trocar o caminho do Gateway na classe RemotingConexao.as e indicar a classe e o método na classe Teste.as<br />
Gostaria mais uma vez de agradecer ao <a href="http://twitter.com/bribeiro">Bruno Ribeir</a>o e ao <a href="http://twitter.com/netoleal">Neto Leal</a> pela ajuda e espero que essa classe possa ajudar a todos.<br />
Até a próxima pessoal e sigam-me pelo <a href="http://www.twitter.com/lmcosta">Twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmarcal.com.br/blog/index.php/2009/10/flash-remoting-coldfusion-amfphp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Validando Campos de formulário no Actionscript 3.0</title>
		<link>http://www.lucasmarcal.com.br/blog/index.php/2009/10/validando-campos-de-formulario-no-actionscript-30/</link>
		<comments>http://www.lucasmarcal.com.br/blog/index.php/2009/10/validando-campos-de-formulario-no-actionscript-30/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 06:10:44 +0000</pubDate>
		<dc:creator>Lucas</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Formularios]]></category>
		<category><![CDATA[Validação]]></category>

		<guid isPermaLink="false">http://lucasmarcal.com.br/blog/?p=1</guid>
		<description><![CDATA[Classe inicial para validação de campos de  formulario]]></description>
			<content:encoded><![CDATA[<p>Nesse tutorial vamos trabalhar a validação de dados de um formulário com uma classe que desenvolvi para um projeto que trabalhei.</p>
<p>No meu primeiro artigo sobre Actionscript 3.0 eu mostro uma classe que eu fiz para validar campos de formularios.</p>
<p>Então agora chega de enrrolação e vamos ao que interessa, lembrando que isso é apenas uma experiência e você deve tentar encontrar formas melhores de fazer isso!</p>
<pre class="brush: as3; first-line: 8; gutter: false; highlight: [10,11]; pad-line-numbers: false; title: ; wrap-lines: false;">
/**
 * @autor: Lucas Marçal
 * @email: inbox@lucasmarcal.com.br
 * @date:  15/05/2009
 * @coment: para adicionar um evento ao modificar o conteudo do campo
 * de texto registrar o evento
 * textInput.addEventListener(Event.CHANGE,clicou);
 * public function clicou (e:Event)
   {
	//trace(&amp;amp;quot;Mudando&amp;amp;quot;)
   }
 * */
package owinteractive.utils
{
	import flash.display.MovieClip;
	import flash.events.FocusEvent;
	import flash.text.TextField;
	import gs.easing.*
	import gs.*

	public class Validation extends MovieClip
	{
		public var textInput:   TextField;
		public var tipo:        String;
		public  var textStatus:  Boolean;
		public var textOutput:  TextField;
		public var textName:    String;
		public var mcStatus:    MovieClip;
		public var limpar:      Boolean;

		public function Validation (_txtCamp:TextField,_type:String,_txtResp:TextField,_txtName:String,_mcStatus:MovieClip,_clear:Boolean):void
		{
			this.textInput = _txtCamp;
			this.tipo = _type;
			this.textStatus = false;
			this.textOutput = _txtResp;
			this.textName = _txtName;

			if (_mcStatus != null)
			{
				this.mcStatus = _mcStatus;
			}
			this.limpar = _clear;
			this.textInput.addEventListener(FocusEvent.FOCUS_IN, onIn);
			this.textInput.addEventListener(FocusEvent.FOCUS_OUT,onOut);
		}

		public function onIn(f:FocusEvent):void
		{
			//trace(&amp;amp;quot;Selecionou &amp;amp;quot; + f.target.name)
			if (this.limpar == true)
			{
				f.target.text = &amp;amp;quot;&amp;amp;quot;
			}
			else
			{
				trace(&amp;amp;quot;Não Limpar campo&amp;amp;quot;)
			}
		}

		public function onOut(f:FocusEvent):void
		{
			if(this.tipo == &amp;amp;quot;email&amp;amp;quot;)
			{
				this.emailValidation(f)
			}
			else
			{
				this.textValidation(f)
			}
		}

		public function textValidation(t:*):void
		{
			if(t.target.text == &amp;amp;quot;&amp;amp;quot;)
			{
				//trace(&amp;amp;quot;Campo Vazio&amp;amp;quot;)
				this.textStatus = false
				this.textOutput.text = &amp;amp;quot;Preencher o campo &amp;amp;quot; + this.textName
				if (this.mcStatus != null)
				{
					this.mcStatus.gotoAndStop(3)
				}
			}
			else
			{
				//trace(&amp;amp;quot;Campo Preenchido&amp;amp;quot;)
				this.textStatus = true
				if (this.mcStatus != null)
				{
					this.mcStatus.gotoAndPlay(2)
					TweenMax.to(this.mcStatus, 0.5, { alpha:0, ease:Linear.easeNone,delay:2,onComplete:retornaStatus} );
				}

			}
		}
		public function emailValidation(t:*):void
		{
			var email:String = t.target.text;
			var arroba:Number = email.indexOf(&amp;amp;quot;@&amp;amp;quot;);
			var ponto:Number = email.lastIndexOf(&amp;amp;quot;.&amp;amp;quot;);
			var resp:Boolean = arroba &amp;amp;gt; 0 &amp;amp;amp;&amp;amp;amp; ponto &amp;amp;gt; arroba;

			if(resp == true)
			{
				//trace(&amp;amp;quot;Email Correto&amp;amp;quot;)
				this.textStatus = true
				if (this.mcStatus != null)
				{
					this.mcStatus.gotoAndStop(2);
					TweenMax.to(this.mcStatus, 0.5, { alpha:0, ease:Linear.easeNone,delay:2,onComplete:retornaStatus} );
				}

			}
			else
			{
				//trace(&amp;amp;quot;Preencher corretamente&amp;amp;quot;)
				this.textStatus = false
				this.textOutput.text = &amp;amp;quot;Campo &amp;amp;quot; + this.textName + &amp;amp;quot; incorreto&amp;amp;quot;
				if (this.mcStatus !=  null)
				{
					this.mcStatus.gotoAndStop(3)
				}

			}
		}

		public function getTextStatus():Boolean
		{
			return textStatus
		}
		public function retornaStatus():void
		{
			if (this.mcStatus != null)
			{
				this.mcStatus.gotoAndStop(1);
				this.mcStatus.alpha = 1
			}

		}

	}
}
</pre>
<p>Abraço a todos</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmarcal.com.br/blog/index.php/2009/10/validando-campos-de-formulario-no-actionscript-30/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

