<?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>Francisco Prado &#187; flash</title>
	<atom:link href="http://franciscoprado.com.br/tag/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://franciscoprado.com.br</link>
	<description>Mais um blog sobre Web, desenvolvimento e assuntos em geral...</description>
	<lastBuildDate>Sun, 29 Jan 2012 18:39:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Novo site: Neoludo</title>
		<link>http://franciscoprado.com.br/2012/01/20/novo-site-neoludo/</link>
		<comments>http://franciscoprado.com.br/2012/01/20/novo-site-neoludo/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 15:59:40 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[bluzone]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[neoludo]]></category>
		<category><![CDATA[plano]]></category>
		<category><![CDATA[projeto]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1815</guid>
		<description><![CDATA[Bem, continuando os textos falando sobre os novos planos, segue aí o link do site onde pretendo hospedar meus games: http://neoludo.net/ Nele já tem um exposto: o BluZone, um jogo de tiro (shooting) que combina um pouco de puzzle e memória (!). Está em fase de avaliação na MochiMedia e pretendo hospedar em sites maiores de ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="neoludo" src="http://neoludo.net/wp-content/themes/neoludo-theme/images/logo_neoludo.png" alt="" width="237" height="274" /></p>
<p>Bem, continuando os textos falando sobre os novos planos, segue aí o link do site onde pretendo hospedar meus games: <a href="http://neoludo.net/">http://neoludo.net/</a></p>
<p>Nele já tem um exposto: o <a href="http://neoludo.net/bluzone-released/" target="_blank">BluZone</a>, um jogo de tiro (shooting) que combina um pouco de puzzle e memória (!). Está em fase de avaliação na <strong>MochiMedia </strong>e pretendo hospedar em sites maiores de games, como o Newgrounds, entre outros.</p>
<p>É o meu primeiro jogo, teve um propósito de estudo também, por isso, e pretendo fazer melhores e mais elaborados, claro.</p>
<p>Abraços! <img src='http://franciscoprado.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><em>PS: e a página no Facebook é <a href="www.facebook.com/neoludo.web" target="_blank">www.facebook.com/neoludo.web</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2012/01/20/novo-site-neoludo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O hype do HTML 5, o &#8220;fim&#8221; do Flash e as más intenções</title>
		<link>http://franciscoprado.com.br/2011/11/18/hype-do-html-5-flash-especulacao/</link>
		<comments>http://franciscoprado.com.br/2011/11/18/hype-do-html-5-flash-especulacao/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 12:42:43 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Padrões Web]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1775</guid>
		<description><![CDATA[Apesar do que parece, este post não é sobre tecnologias Web. Na última semana vimos uma enxurrada de notícias e comentários (uns relevantes, outros sem total embasamento) sobre do anúncio da Adobe em por fim ao desenvolvimento do plugin Flash para dispositivos móveis (apenas dispositivos móveis, e não no geral). Realmente, acredito que a Adobe ...]]></description>
			<content:encoded><![CDATA[<p>Apesar do que parece, este post não é sobre tecnologias Web.</p>
<p>Na última semana vimos uma enxurrada de notícias e comentários (uns relevantes, outros sem total embasamento) sobre do anúncio da Adobe em por fim ao desenvolvimento do plugin Flash para dispositivos móveis (apenas dispositivos móveis, e não no geral). Realmente, acredito que a Adobe foi sensata na decisão e deva ter seus motivos para isso. Enfim, não vou falar mais acerca disso pois há muitos posts bons que tratam sobre o futuro da plataforma &#8211; <a href="http://as3devs.com.br/2011/filipe-cunha/a-adobe-nao-matou-o-flash-apenas-quer-definir-um-lugar-para-ele/" target="_blank">recomendo este do ASDevs</a>, que é imparcial realista sobre este assunto.</p>
<p>No entanto, quero me ater nesta postagem sobre o <a href="http://pt.wikipedia.org/wiki/Hype" target="_blank">hype</a> em torno do HTML5. De uma hora para outra começou a se anunciar que o futuro seria esse padrão aberto, e o Flash, de repente, virou uma coisa imprestável, um lixo, &#8220;lento&#8221;, &#8220;pesado&#8221;, uma tecnologia paga (é possível desenvolver usando Flex SDK sem precisar pagar pedágio para Adobe, mas enfim&#8230;), entre outras. O Flash virou um novo IE: algo que deveria ser combatido e eliminado, para dar lugar ao futuro maravilhoso e aberto proporcionado pelo HTML5&#8230;</p>
<p>Pois bem. É lamentável que muitas críticas, muitas vezes infundadas, tenham ganho espaço. Mas o que se é de lamentar mesmo é que muitos só tenham se prestado a criticar a tecnologia de maneira oportunista, apenas querendo se aproveitar do momento. Cursos, livros e eventos em torno do HTML5 começaram a surgir do nada tratando o padrão como salvação para tudo, em que se pode usar ele em sua plenitude substituindo o Flash (inclusive no IE 8, né?&#8230;). Para entender como essa visão é equivocada <a href="http://www.mochilabinaria.com.br/flash-x-html-e-a-opiniao-do-zeh-fernando/" target="_blank">recomendo este post</a> do blog Mochila Binária.</p>
<p>Não há dúvida de que o HTML5 veio para ficar, mas o que não se pode dizer é que ele está pronto em definitivo para substituir o Flash, como muitos dizem por aí. Só fico chateado de que muitos prefiram especular e acabem difundindo informações errôneas sobre o assunto, fazendo com que muitos que não são da área de Web acabem mal informados, como usuários comuns e pessoas que desejam ter um site &#8211; aliás, o que já vem ocorrendo.</p>
<p>&nbsp;</p>
<p style="text-align: center;"><img class="aligncenter" title="html5" src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/HTML5-logo.svg/512px-HTML5-logo.svg.png" alt="" width="307" height="307" /></p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2011/11/18/hype-do-html-5-flash-especulacao/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CASA Lib, a biblioteca ActionScript que é uma verdadeira &#8220;mão na roda&#8221;</title>
		<link>http://franciscoprado.com.br/2011/09/27/casa-lib-biblioteca-actionscript-framework/</link>
		<comments>http://franciscoprado.com.br/2011/09/27/casa-lib-biblioteca-actionscript-framework/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 14:53:15 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[biblioteca]]></category>
		<category><![CDATA[casalib]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1712</guid>
		<description><![CDATA[Neste post vou tratar sobre uma biblioteca que conheço há muito tempo mas que, curiosamente, nunca dei espaço para usar em um projeto: CASA Lib. A biblioteca, olhando por cima, tem recursos interessantes e que cobre muitos vácuos encontrados na linguagem AS 3, como, por exemplo, um método para remover um item determinado numa Array. ...]]></description>
			<content:encoded><![CDATA[<p>Neste post vou tratar sobre uma biblioteca que conheço há muito tempo mas que, curiosamente, nunca dei espaço para usar em um projeto: <a href="http://casalib.org/" target="_blank">CASA Lib</a>.</p>
<p>A biblioteca, olhando por cima, tem recursos interessantes e que cobre muitos vácuos encontrados na linguagem AS 3, como, por exemplo, um método para remover um item determinado numa Array. Para isso o CASA Lib oferece um objeto <a href="http://as3.casalib.org/docs/org_casalib_collection_List.html" target="_blank">List</a> que tem um método <em>removeItem()</em> que cobre esse vazio e facilita a remoção de um item, independentemente da sua posição:</p>
<pre>
var arr:List = new List(['francisco', 'joão', 'maria', 'daniel']);
arr.removeItem('joão');
trace(arr); // exibe francisco,maria,daniel
</pre>
<p>Outras classes úteis são <a href="http://as3.casalib.org/docs/package_org_casalib_ui.html" target="_blank">Key e KeyCombo</a>, que facilitam a manipulação de teclas pressionadas simultaneamente.</p>
<p>Mais um recurso bacana são os carregadores. Há para vários tipos, assim como o carregador em grupo (<a href="http://as3.casalib.org/docs/org_casalib_load_GroupLoad.html" target="_blank">GroupLoad</a>), que permite carregar vários objetos exibindo uma só porcentagem de progresso do conjunto. Carregar imagens, por exemplo, é mais simples do que escrever os objetos &#8220;na unha&#8221;:</p>
<pre>
var imageLoader:ImageLoad = new ImageLoad("imagem-de-exemplo.jpg");
imageLoader.addEventListener(LoadEvent.COMPLETE, onComplete);
imageLoader.start();

function onComplete(evt:LoadEvent):void
{
	addChild(imageLoader.contentAsBitmap);
}
</pre>
<p>Para ver outros recursos é recomendável ver a <a href="http://as3.casalib.org/docs/index.html" target="_blank">documentação</a>. Apesar de ser documentação há os exemplo de como usá-las.</p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2011/09/27/casa-lib-biblioteca-actionscript-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando Box2D no Flash / ActionScript 3.0 &#8211; tutorial básico</title>
		<link>http://franciscoprado.com.br/2011/06/13/box2d-actionscript-flash-tutorial/</link>
		<comments>http://franciscoprado.com.br/2011/06/13/box2d-actionscript-flash-tutorial/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 17:06:12 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[as3isolib]]></category>
		<category><![CDATA[biblioteca]]></category>
		<category><![CDATA[box2d]]></category>
		<category><![CDATA[física]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1694</guid>
		<description><![CDATA[Garimpei muito na Web buscando um tutorial simples para o uso da biblioteca de física Box2D e que funcionasse no Flash. Encontrei códigos com formato antigo, que rodam em versões anteriores da biblioteca (ou em Flash Player anteriores), e principalmente pouco interessantes Foi então que resolvi experimentar usar por conta própria o manual do Box2D, ...]]></description>
			<content:encoded><![CDATA[<p>Garimpei muito na Web buscando um tutorial simples para o uso da biblioteca de física <a href="http://www.box2d.org/" target="_blank">Box2D</a> e que funcionasse no Flash. Encontrei códigos com formato antigo, que rodam em versões anteriores da biblioteca (ou em Flash Player anteriores), e principalmente pouco interessantes</p>
<p>Foi então que resolvi experimentar usar por conta própria o <a href="http://www.box2d.org/manual.html" target="_blank">manual do Box2D</a>, que tem um tutorial que, apesar de estar em C/C++, é muito didático. Adaptei o código para o Actionscript 3.0 e funcionou.</p>
<p>Para ver o programa funcionando usei a <a href="http://code.google.com/p/as3isolib/" target="_blank">as3isolib</a>, para geração de gráficos isométricos &#8211; a intenção é tornar visível o funcionamento. Porém, você pode usar o próprio trace() do Flash para exibir a posição da caixa que cai sobre um piso e dá uma leve quicada. Mais detalhes sobre o código veja no tutorial do manual.</p>
<pre>
package{
import flash.display.*;
import flash.events.*;
import Box2D.Dynamics.*;
import Box2D.Collision.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
import as3isolib.display.primitive.IsoBox;
import as3isolib.display.scene.IsoScene;

public class Main extends Sprite{

public var world:b2World;
public var groundBodyDef, bodyDef:b2BodyDef;
public var body, groundBody:b2Body;
public var groundBox:b2PolygonShape = new b2PolygonShape();
public var dynamicBox:b2PolygonShape = new b2PolygonShape();
public var fixtureDef:b2FixtureDef = new b2FixtureDef();
public var timeStep:Number = Number(1 / 60);
public var velocityIterations:Number = 6;
public var positionIterations:Number = 2;

/*objetos as3isolib - se não quiser baixar a biblioteca você pode usar o trace() para exibir a posição da caixa*/
public var scene:IsoScene = new IsoScene();
public var groundIso:IsoBox = new IsoBox();
public var bodyIso:IsoBox = new IsoBox();

public function Main() {
stage.scaleMode = StageScaleMode.NO_SCALE;

// função que fará tudo se mover
stage.addEventListener(Event.ENTER_FRAME, update);

/* CÓDIGO BOX2D */
// criação do ambiente
world = new b2World(new b2Vec2(0, -10), true);

// criação do chão, onde a caixa irá cair
groundBodyDef = new b2BodyDef();
groundBodyDef.position.Set(250, -50);

// adicionando o corpo ao ambiente
groundBody = world.CreateBody(groundBodyDef);

groundBox.SetAsBox(50, 10);

groundBody.CreateFixture2(groundBox);

// a caixa que cairá
bodyDef = new b2BodyDef();
bodyDef.type = b2Body.b2_dynamicBody;
bodyDef.position.Set(250, 50);

body = world.CreateBody(bodyDef);

dynamicBox.SetAsBox(1, 1);

fixtureDef.shape = dynamicBox;
fixtureDef.density = 1;
fixtureDef.friction = 0.3;
fixtureDef.restitution = 0.1;

body.CreateFixture(fixtureDef);
// -X-

/* CÓDIGO AS3ISOLIB - NÃO ESSENCIAL */
// gráficos do chão
groundIso.setSize(50, 50, 10);

bodyIso.width = 10;
bodyIso.length = 10;
bodyIso.height = 10;

scene.hostContainer = this;
scene.addChild(bodyIso);
scene.addChild(groundIso);
// -X-
}

public function update(evt:Event):void {
// executando a ação física
world.Step(timeStep, velocityIterations, positionIterations);
world.ClearForces();

groundIso.x = groundBody.GetPosition().x;
groundIso.z = groundBody.GetPosition().y;

/* CÓDIGO AS3ISOLIB - NÃO ESSENCIAL */
bodyIso.x = body.GetPosition().x;
bodyIso.z = body.GetPosition().y;

scene.render();
// -x-
}
}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2011/06/13/box2d-actionscript-flash-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detectando quais teclas estão pressionadas em ActionScript 3</title>
		<link>http://franciscoprado.com.br/2011/01/06/detectando-teclas-pressionadas-actionscript/</link>
		<comments>http://franciscoprado.com.br/2011/01/06/detectando-teclas-pressionadas-actionscript/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 13:21:21 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Dicas & Tutoriais]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[teclado]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1651</guid>
		<description><![CDATA[É simples você saber qual tecla foi pressionada em ActionScript. Um pouco mais complicado é saber qual conjunto de teclas estão sendo pressionadas simultaneamente. Isto pode ser necessário em caso de games, como num de corrida, em que o usuário pressionará várias teclas ao mesmo tempo, como um botão para acelerar, outro para direcionar o ...]]></description>
			<content:encoded><![CDATA[<p>É simples você saber qual tecla foi pressionada em ActionScript. Um pouco mais complicado é saber qual conjunto de teclas estão sendo pressionadas simultaneamente. Isto pode ser necessário em caso de games, como num de corrida, em que o usuário pressionará várias teclas ao mesmo tempo, como um botão para acelerar, outro para direcionar o carro, e assim vai.</p>
<p>Algumas bibliotecas oferecem esse recurso, como o <a href="http://casalib.org/" target="_blank">CASALib</a>. No entanto basta um código simples para isso. A seguir, segue um exemplo em que são mostradas num campo de texto as teclas que estão sendo pressionadas num momento. No campo de texto será exibido os valores <em>keyCode </em>(a representação da tecla em número da <a href="http://pt.wikipedia.org/wiki/ASCII" target="_blank">tabela ASCII</a>) das teclas.</p>
<pre>
// campo de texto informativo
var output:TextField = new TextField();

// as teclas pressionadas
var arr_teclas:Array = new Array();

// listeners que detectarão o pressionamento de teclas
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);

// tamanho do texto e adicionando ao stage
output.text = "Teclas pressionadas: ";
output.scaleY = output.scaleX = 2;
output.width = 300;
addChild(output);

function keyDown(evt:KeyboardEvent):void {
	/* se não houver nenhuma tecla na array que
	 * corresponda à tecla pressionada,
	 * adiciona a atual à array */

	if (arr_teclas.indexOf(evt.keyCode) < 0) {
		arr_teclas.push(evt.keyCode);
	}

	// exibe as teclas pressionadas atualmente
	output.text = "Teclas pressionadas: " + arr_teclas.join();
}

function keyUp(evt:KeyboardEvent):void {
	/* Se a tecla deixou de ser pressionada,
	 * busca ela na array e a remove */

	if (arr_teclas.indexOf(evt.keyCode) >= 0) {
		arr_teclas = arr_teclas.splice(0, arr_teclas.indexOf(evt.keyCode));
	}

	// exibe as teclas pressionadas atualmente
	output.text = "Teclas pressionadas: " + arr_teclas.join();
}
</pre>
<p>Veja o resultado a seguir, pressionando teclas (dê foco ao SWF clicando no quadro abaixo):</p>
<div style="border:solid 1px;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://franciscoprado.com.br/wp-content/uploads/2011/01/Teclas1.swf" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://franciscoprado.com.br/wp-content/uploads/2011/01/Teclas.swf"></embed></object></div>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2011/01/06/detectando-teclas-pressionadas-actionscript/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Criando um sistema de partículas simples com ActionScript 3.0</title>
		<link>http://franciscoprado.com.br/2010/12/20/criando-sistema-particulas-actionscript-3/</link>
		<comments>http://franciscoprado.com.br/2010/12/20/criando-sistema-particulas-actionscript-3/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 18:51:13 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Dicas & Tutoriais]]></category>
		<category><![CDATA[efeitos]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[FX]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[TweenMax]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1604</guid>
		<description><![CDATA[Há várias maneiras de como se criar partículas em Flash. Há desde bibliotecas que facilitam o trabalho e permitem criar efeitos excelentes (é o caso da Tweensy e a sua parte &#8211; ainda em beta &#8211; FX) até os tutoriais dificílimos disponíveis na Web, que geralmente envolvem muita matemática &#8211; e que são muito bons ...]]></description>
			<content:encoded><![CDATA[<p>Há várias maneiras de como se criar partículas em Flash. Há desde bibliotecas que facilitam o trabalho e permitem criar efeitos excelentes (é o caso da <a href="http://code.google.com/p/tweensy/wiki/TweensyFX" target="_blank">Tweensy e a sua parte &#8211; ainda em beta &#8211; FX</a>) até os tutoriais dificílimos disponíveis na Web, que geralmente envolvem muita matemática &#8211; e que são muito bons -, de sites como o <a href="http://www.flashandmath.com/" target="_blank">Flash &amp; Math</a>.</p>
<p>No entanto, até que não é muito complicado criar efeitos simples usando bibliotecas como a <a href="http://www.greensock.com/tweenmax/" target="_blank">TweenMax</a>. Com uma quantidade enxuta de linhas é possível fazer efeitos interessantes.</p>
<p>A seguir, posto um exemplo bem simples, mas que serve para ilustrar que usar métodos e métodos para controle de tempo e criação de efeitos são desnecessários usando TweenMax:</p>
<pre>
package
{
	import flash.display.*;
	import flash.events.*;
	import com.greensock.*; 

	/**
	 * ...
	 * @author Francisco Prado
	 */
	public class Main extends MovieClip
	{
		private var volume:int = 0;
		private var particulas:Array = new Array();

		public function Main():void
		{
			// inicia (ou desenha mais) "partículas"
			desenharParticula();
		}

		private function desenharParticula():void {
			var mc:MovieClip = new MovieClip();
			mc.graphics.beginFill(Math.round(Math.random()*0x6666ff));
			mc.graphics.drawCircle(0, 0, 5);
			mc.graphics.endFill();

			mc.x = 200;
			mc.y = 300;

			addChild(mc);

			// fazendo as "partículas" subirem e desaparecerem
			TweenMax.to(mc, Math.random() + 1,
			{ bezier: [
			{ x: mc.x, y: mc.y },
			{ x: (Math.random() * 50) + mc.x, y: 250 },
			{ x: (Math.random() * -50) + mc.x, y: 180 },
			{ x: mc.x, y: 80 }],
			orientToBezier:true, blurFilter: { blurX: 10, blurY: 10 }, alpha: 0, motionBlur:true,
			onComplete: function removendo():void {
					removeChild(mc);
					mc = null;
				}
			});

			// chama o método para adicionar novas partículas à cena
			TweenMax.to(this, 0, { delay: 0.05, onComplete: desenharParticula } );
		}
	}
}
</pre>
<p>O código fará o efeito seguinte:</p>
<div style="text-align: center; margin: 20px 0 20px 0;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://franciscoprado.com.br/wp-content/uploads/2010/12/NewProject.swf" /><embed type="application/x-shockwave-flash" width="400" height="400" src="http://franciscoprado.com.br/wp-content/uploads/2010/12/NewProject.swf"></embed></object></div>
<p>A ideia aqui não é mostrar necessariamente como fazer um sistema bonitinho de particulas, mas sim demonstrar que com uma linha do TweenMax é possível fazer um método para tempo e efeitos de cores e luz.</p>
<p>Usando ActionScript &#8220;puro&#8221; seria necessário apelar para uma variável <em>Timer</em>, uma outra linha para iniciar a contagem e uma função para manipular eventos no AS (<em>TimerEvent</em>).</p>
<p>Já com uma linha (no caso, a 48 do exemplo anterior) do TweenMax é possível fazer uma contagem (usando a propriedade de atraso <em>delay</em>) é possível fazer todas as coisas: o tempo e a chamada da função (no atributo <em>onComplete </em>é chamado o método que adicionará mais partículas).</p>
<p>A mesma situação na linha que fazem as partículas subirem e sumirem. Com o parâmetro <em>bezier </em>da TweenMax é possível fazer animações em curvas. Você pode conhecer mais efeitos testando <a href="http://www.greensock.com/tweenmax/" target="_blank">nesta página, na seção Plugins</a>.</p>
<p>Enfim, com um punhado de linhas é possível fazer efeitos bem interessantes, dispensando assim volumosos códigos chatos para caramba.</p>
<p>Acredito que, em se trantando de Flash &#8211; largamente utilizado na publicidade -, quanto menos linhas de código melhor, pois os prazos nem sempre são generosos (geralmente tudo é &#8220;pra ontem&#8221; <img src='http://franciscoprado.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ) e eficiência é sempre fundamental.</p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/12/20/criando-sistema-particulas-actionscript-3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Onde encontrar componentes para Flash grátis</title>
		<link>http://franciscoprado.com.br/2010/11/15/componentes-flash-onde-encontrar-free/</link>
		<comments>http://franciscoprado.com.br/2010/11/15/componentes-flash-onde-encontrar-free/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 12:11:28 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[componentes]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1599</guid>
		<description><![CDATA[Para tirar um pouco do mofo do blog, segue alguns links para quem deseja encontrar componentes para usar com Adobe Flash: Flashmo.com &#8211; meu favorito. Encontrei uma infinidade de componentes excelentes e personalizáveis, tanto para AS 3 como AS 2. O número de componentes para galerias de imagens impressiona: há desde simples até com efeitos ...]]></description>
			<content:encoded><![CDATA[<p>Para tirar um pouco do mofo do blog, segue alguns links para quem deseja encontrar componentes para usar com Adobe Flash:</p>
<ul>
<li><a href="http://www.flashmo.com/" target="_blank"><strong>Flashmo.com</strong></a> &#8211; meu favorito. Encontrei uma infinidade de componentes excelentes e personalizáveis, tanto para AS 3 como AS 2. O número de componentes para galerias de imagens impressiona: há desde simples até com efeitos 3D.</li>
<li><strong><a href="http://www.flashcomponents.net/components/free_flash_files.html" target="_blank">Flash Components (seção Free)</a></strong> &#8211; este site, que oferece componentes pagos, também tem uma seção com componentes que podem ser baixados gratuitamente. Há várias galerias, entre outros.</li>
<li><a href="http://www.flafolder.com/" target="_blank"><strong>Free Flash Resources</strong></a> &#8211; há poucos neste site, mas há alguns que podem valer a pena, como o <a href="http://www.flafolder.com/flash/components/flash-scrollbar-component/" target="_blank">componente Scrollbar</a>.</li>
<li><a href="http://flashsources.net/" target="_blank"><strong>Flash Sources</strong></a> &#8211; achei este site muito fraco. Há pouco material, e a maior parte é em AS 2. No entanto, fica aqui a dica.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/11/15/componentes-flash-onde-encontrar-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Componente Scrollbar para Flash &#8211; grátis</title>
		<link>http://franciscoprado.com.br/2010/10/29/componente-scrollbar-flash-scroller/</link>
		<comments>http://franciscoprado.com.br/2010/10/29/componente-scrollbar-flash-scroller/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 14:41:37 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[biblioteca]]></category>
		<category><![CDATA[componente]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1592</guid>
		<description><![CDATA[Neste post deixo para download um componente simples, mas que é usado em 10 de cada 10 sites em Flash que contém texto: um scroller com movimento animado. Ele foi criado originalmente pelo pessoal do Free Flash Resources, mas a versão deles é separada em várias classes. A versão que posto aqui foi modificada por ...]]></description>
			<content:encoded><![CDATA[<p>Neste post deixo para download um componente simples, mas que é usado em 10 de cada 10 sites em Flash que contém texto: um scroller com movimento animado.</p>
<p>Ele foi criado originalmente pelo pessoal do <a href="http://www.flafolder.com/flash/" target="_blank">Free Flash Resources</a>, mas a versão deles é separada em várias classes. A versão que posto aqui foi modificada por mim, e contém os códigos ActionScript direto nas timelines dos clipes de filme. Em outras palavras, basta copiar e colar os clipes; nada de mover as classes AS dele para lá e para cá. Isso evita bagunça e que você tenha que reeditar códigos cada vez que for usar o componente.</p>
<p>O componente tem a parte gráfica e códigos customizáveis.</p>
<p><a href="http://franciscoprado.com.br/wp-content/uploads/2010/01/001_121.png" rel="lightbox[1592]"><img class="alignleft size-full wp-image-257" title="001_12" src="http://franciscoprado.com.br/wp-content/uploads/2010/01/001_121.png" alt="" width="24" height="24" /></a> <a href="http://franciscoprado.com.br/files/scrollbar.rar">Download</a>.</p>
<p>Veja o exemplo abaixo do funcionamento.</p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/10/29/componente-scrollbar-flash-scroller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Extension Manager e os problemas com idiomas dos programas</title>
		<link>http://franciscoprado.com.br/2010/10/09/adobe-extensions-problema-programa-idioma/</link>
		<comments>http://franciscoprado.com.br/2010/10/09/adobe-extensions-problema-programa-idioma/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 20:43:44 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[componentes]]></category>
		<category><![CDATA[extension manager]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1580</guid>
		<description><![CDATA[Recentemente me deparei com um problema curioso. Ao instalar extensões para o programa Adobe Flash (usando o Extension Manager), passava pela situação de que o Extension instalava e ativava o componente, porém o Flash não o reconhecia, não podendo o utilizar. Tive que garimpar muito na interwebs para descobrir a causa do problema. Daí que ...]]></description>
			<content:encoded><![CDATA[<p>Recentemente me deparei com um problema curioso. Ao instalar extensões para o programa <strong>Adobe Flash</strong> (usando o <strong>Extension Manage</strong>r), passava pela situação de que o Extension instalava e ativava o componente, porém o Flash não o reconhecia, não podendo o utilizar.</p>
<p>Tive que garimpar muito na interwebs para descobrir a causa do problema. Daí que encontrei num fórum gringo a resposta: acontecia que, quando o Extension Manager instalava, ele passava o componente para uma versão em português, idioma do meu Windows, e não para o inglês, idioma do Flash.</p>
<p>Para resolver isso precisei ir ao menu Help &gt; Manage Extensions&#8230;, no Flash, e ativar a extensão.</p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/10/09/adobe-extensions-problema-programa-idioma/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gráficos SVG no Internet Explorer usando uma biblioteca JavaScript</title>
		<link>http://franciscoprado.com.br/2010/06/03/graficos-svg-no-internet-explorer-usando-uma-biblioteca-javascript/</link>
		<comments>http://franciscoprado.com.br/2010/06/03/graficos-svg-no-internet-explorer-usando-uma-biblioteca-javascript/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 14:49:53 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Dicas & Tutoriais]]></category>
		<category><![CDATA[Padrões Web]]></category>
		<category><![CDATA[biblioteca]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[navegador]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1413</guid>
		<description><![CDATA[É conhecida a limitação do Internet Explorer no que diz respeito a padrões Web. Uma das mais conhecidas é sobre o suporte à exibição de gráficos vetoriais SVG. No entanto, existe uma biblioteca Javascript chamada svgweb que procura cobrir essa limitação. Linkando a biblioteca a um arquivo ela substituirá a parte em SVG (que é ...]]></description>
			<content:encoded><![CDATA[<p>É conhecida a limitação do <strong>Internet Explorer</strong> no que diz respeito a <a href="http://pt.wikipedia.org/wiki/Padr%C3%B5es_web#Padr.C3.B5es_W3C" target="_blank">padrões Web</a>. Uma das mais conhecidas é sobre o suporte à exibição de <strong><a href="http://pt.wikipedia.org/wiki/Scalable_Vector_Graphics" target="_blank">gráficos vetoriais SVG</a></strong>. No entanto, existe uma biblioteca Javascript chamada <strong><a href="http://code.google.com/p/svgweb/" target="_blank">svgweb</a> </strong>que procura cobrir essa limitação.</p>
<p>Linkando a biblioteca a um arquivo ela substituirá a parte em SVG (que é suportada pelos outros navegadores populares, como Firefox, Chrome e Opera) por um arquivo em Flash, que irá exibir praticamente a mesma coisa. Em outras palavras: se a biblioteca reconhecer que o navegador suporta SVG, ela não fará nada, apenas deixa o SVG ser exibido normalmente; se ele perceber que é o IE 8 e anteriores (que não suportam SVG) que o usuário está usando ele irá substituir por um arquivo em Flash que exibirá o arquivo SVG, com todos as suas configurações, como animação e interatividade.</p>
<p>Testei alguns exemplos e achei bem interessante. Ainda não testei na minha máquina, e sim apenas os exemplos fornecidos no site do projeto, e cumpriu bem a tarefa.</p>
<p>Trata-se de uma solução interessante. O iPad, por exemplo, suporta SVG, mas não animações em Flash; já o IE é o contrário. Usando essa biblioteca podemos programar apenas uma vez (SVG com JavaScript) e rodar em qualquer navegador.</p>
<p>Fica a dica. <img src='http://franciscoprado.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/06/03/graficos-svg-no-internet-explorer-usando-uma-biblioteca-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

