<?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; tutorial</title>
	<atom:link href="http://franciscoprado.com.br/tag/tutorial/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>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>Flupie &#8211; usando ActionScript para animação de texto</title>
		<link>http://franciscoprado.com.br/2010/09/03/flupie-usando-actionscript-para-animacao-de-texto/</link>
		<comments>http://franciscoprado.com.br/2010/09/03/flupie-usando-actionscript-para-animacao-de-texto/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 15:47:46 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[biblioteca]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1575</guid>
		<description><![CDATA[A postagem é curta, mas é de coração e é isso que importa. Recebi a dica de um colega sobre uma biblioteca chamada Flupie, destinada a facilitar a criação de efeitos para textos em Flash. Ainda não tive condições de experimentar, mas pelos exemplos ela é uma mão na roda para gerar efeitos sofisticados de ...]]></description>
			<content:encoded><![CDATA[<p>A postagem é curta, mas é de coração e é isso que importa. Recebi a dica de um colega sobre uma biblioteca chamada <a href="http://flupie.net/blog/" target="_blank">Flupie, destinada a facilitar a criação de efeitos para textos em Flash</a>.</p>
<p>Ainda não tive condições de experimentar, mas pelos exemplos ela é uma mão na roda para gerar efeitos sofisticados de uma maneira bem simples. No site dela você encontra exemplos e tutoriais.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://flupie.net/blog/wp-content/uploads/2010/06/ta_sequence.swf" /><embed type="application/x-shockwave-flash" width="500" height="300" src="http://flupie.net/blog/wp-content/uploads/2010/06/ta_sequence.swf"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/09/03/flupie-usando-actionscript-para-animacao-de-texto/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Usando jQuery para manipular arquivos SVG</title>
		<link>http://franciscoprado.com.br/2010/05/28/usando-jquery-para-manipular-arquivos-svg-javascript-tutorial/</link>
		<comments>http://franciscoprado.com.br/2010/05/28/usando-jquery-para-manipular-arquivos-svg-javascript-tutorial/#comments</comments>
		<pubDate>Fri, 28 May 2010 14:31:18 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Dicas & Tutoriais]]></category>
		<category><![CDATA[Padrões Web]]></category>
		<category><![CDATA[biblioteca]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1345</guid>
		<description><![CDATA[Em uma postagem anterior falei da biblioteca Raphaël para criação de gráficos vetoriais SVG usando Javascript. Agora nesta postagem, demonstrarei como usar a popular biblioteca jQuery para manipular arquivos SVG, usando um plugin. Utilizar este plugin, em detrimento de uma biblioteca mais específica, pode ser útil quando se está habituado a usar jQuery. No site ...]]></description>
			<content:encoded><![CDATA[<p><span class="capitular">E</span><span class="versaletes">m <a href="http://franciscoprado.com.br/2010/05/02/usando-raphael-para-geracao-de-svg-atraves-de-javascript-tutorial/" target="_blank">uma postagem anterior</a></span> falei da biblioteca Raphaël para criação de gráficos vetoriais SVG usando Javascript. Agora nesta postagem, demonstrarei como <a href="http://plugins.jquery.com/project/svg" target="_blank">usar a popular biblioteca jQuery para manipular arquivos SVG, usando um plugin</a>.</p>
<p>Utilizar este plugin, em detrimento de uma biblioteca mais específica, pode ser útil quando se está habituado a usar <a href="http://jquery.com/" target="_blank">jQuery</a>. No <a href="http://keith-wood.name/svg.html" target="_blank">site oficial do projeto jQuery SVG</a> você encontra diversos exemplos úteis.</p>
<p>Existe a <a href="http://keith-wood.name/svgRef.html" target="_blank">documentação da biblioteca</a>, no site, onde você encontra, bem organizadamente, métodos e atributos para utilizar a biblioteca.</p>
<p>Experimentei um pouco a biblioteca. Para testes, você deve baixar os arquivos Javascript específicos e direcionar corretamente a localização nas pastas de acordo com o seu computador. A seguir, um exemplo, em que baixei do site e modifiquei, adicionando um retângulo que responde aos cliques do mouse (repare nos parâmetros &#8211; entre chaves &#8211; a chamada do método <em>alert</em>).</p>
<pre>
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;
 &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=utf-8&quot;&gt;
&lt;title&gt;jQuery SVG - o Básico&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
@import &quot;css/jquery.svg.css&quot;;

#svgbasics { width: 400px; height: 300px; border: 1px solid #484; }
&lt;/style&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery-1.3.2.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.svg.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
 $(function() {
 // Ao ser carregado, chamará a função draw...
 $('#svgbasics').svg({onLoad: draw});
 });

 function draw (svg) {
 // Desenhando um círculo...
 svg.circle(75, 75, 50, {fill: 'none', stroke: 'red', 'stroke-width': 3});

 // Criando um grupo com duas linhas...
 var g = svg.group({stroke: 'black', 'stroke-width': 2});
 svg.line(g, 15, 75, 135, 75);
 svg.line(g, 75, 15, 75, 135);

 // Desenhando um retângulo que, quando clicado, chama o método alert
 svg.rect(g, 150, 100, 200, 100, 10, 10,
 {fill: 'yellow', stroke: 'navy', strokeWidth: 5, onclick:&quot;alert('Você clicou!')&quot;});
 }

&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
 &lt;h1&gt;jQuery SVG - O Básico&lt;/h1&gt;
 &lt;p&gt;Página de exemplo&lt;/p&gt;
 &lt;div id=&quot;svgbasics&quot;&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/05/28/usando-jquery-para-manipular-arquivos-svg-javascript-tutorial/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Usando SVG através do ActionScript &#8211; AS3 SVG Renderer</title>
		<link>http://franciscoprado.com.br/2010/05/09/svg-actionscript-render-biblioteca-as3/</link>
		<comments>http://franciscoprado.com.br/2010/05/09/svg-actionscript-render-biblioteca-as3/#comments</comments>
		<pubDate>Sun, 09 May 2010 12:40:46 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Dicas & Tutoriais]]></category>
		<category><![CDATA[biblioteca]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1312</guid>
		<description><![CDATA[É possível carregar arquivos gráficos SVG (formato de arquivos de desenho em vetor, organizados em modo XML) através do ActionScript como se fossem Sprites. A biblioteca AS3 SVG Renderer suporta boa parte dos recursos oferecidos pela linguagem SVG. Criada por um brasileiro (veja o blog), ela ainda não suporta o carregamento de arquivos de imagem ...]]></description>
			<content:encoded><![CDATA[<p>É possível carregar arquivos gráficos <a href="http://pt.wikipedia.org/wiki/Svg" target="_blank">SVG</a> (formato de arquivos de desenho em vetor, organizados em modo XML) através do ActionScript como se fossem Sprites.</p>
<p>A biblioteca <a href="http://code.google.com/p/as3svgrendererlib/" target="_blank">AS3 SVG Renderer</a> suporta boa parte dos recursos oferecidos pela linguagem SVG. Criada por um brasileiro (<a title="Lucas Lorentz" href="http://www.lucaslorentz.com.br/2009/07/as3-svg-renderer.html" target="_blank">veja o blog</a>), ela ainda não suporta o carregamento de arquivos de imagem (como JPEG, PNG, etc., um recurso disponível no SVG), o que não chega a atrapalhar em nada (haja vista que é possível carregar Bitmaps usando classes nativas do ActionScript). Muitos outros recursos estão disponíveis (desenhos de formas, linhas, transformações como rotação e inclinação, entre outros).</p>
<p>O uso da biblioteca é muito simples: basta carregar o arquivo como se fosse um XML, usando o <em>package </em>do ActionScript. O programa Adobe Flash torna-se dispensável.</p>
<p>O exemplo a seguir carrega e exibe um SVG carregado a partir de uma URL qualquer.<span id="more-1312"></span></p>
<p>[actionscript3]<br />
package<br />
{<br />
	import flash.display.MovieClip;<br />
	import flash.display.Sprite;</p>
<p>	// A biblioteca AS3 SVG RENDERER<br />
	import com.lorentz.SVG.*;</p>
<p>	import flash.events.Event;</p>
<p>	import flash.net.URLLoader;<br />
	import flash.net.URLRequest;</p>
<p>	/**<br />
	 * &#8230;<br />
	 * @author FRANCISCO PRADO<br />
	 */<br />
	public class Main extends Sprite<br />
	{<br />
		public var mc:MovieClip = new MovieClip();</p>
<p>		public function Main() {<br />
			// Carregador da figura<br />
			var loader:URLLoader = new URLLoader();<br />
			loader.addEventListener(Event.COMPLETE, onComplete);</p>
<p>			// Iniciando o carregamento<br />
			loader.load(new URLRequest(&quot;URL do arquivo.svg&quot;));</p>
<p>			addChild(mc);<br />
		}</p>
<p>		public function onComplete(evt:Event):void {<br />
			var shp:Sprite;<br />
			var svg:XML = new XML(evt.target.data);</p>
<p>			// Renderizará o arquivo SVG<br />
			shp = new SVGRenderer(svg);</p>
<p>			// Adiciona ao movieclip<br />
			mc.addChild(shp);<br />
		}<br />
	}<br />
}<br />
[/actionscript3]</p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/05/09/svg-actionscript-render-biblioteca-as3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mais sobre ActionScript 3.0 &#8211; programas, bibliotecas e dicas</title>
		<link>http://franciscoprado.com.br/2010/04/10/mais-sobre-actionscript-3-0-programas-bibliotecas-e-dicas-library-app-tutorial/</link>
		<comments>http://franciscoprado.com.br/2010/04/10/mais-sobre-actionscript-3-0-programas-bibliotecas-e-dicas-library-app-tutorial/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 13:23:35 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Dicas & Tutoriais]]></category>
		<category><![CDATA[biblioteca]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[programa]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1220</guid>
		<description><![CDATA[Para reanimar um pouco este blog vou postar aqui algumas dicas de programas e de bibliotecas para quem programa/quer programar com ActionScript 3.0. Programas FlashDevelop &#8211; não conheço todas as IDEs para ActionScript, mas acredito que esta seja uma das melhores &#8211; senão a melhor. Ela automaticamente importa os packages de classes que você instancia, ...]]></description>
			<content:encoded><![CDATA[<p>Para reanimar um pouco este blog vou postar aqui algumas dicas de programas e de bibliotecas para quem programa/quer programar com <a href="http://pt.wikipedia.org/wiki/ActionScript" target="_blank">ActionScript</a> 3.0.</p>
<h2>Programas</h2>
<p><a href="http://www.flashdevelop.org/" target="_blank"><strong>FlashDevelop</strong></a> &#8211; não conheço todas as IDEs para ActionScript, mas acredito que esta seja uma das melhores &#8211; senão a melhor. Ela automaticamente importa os <em>packages </em>de classes que você instancia, seu auto-complete é poderosíssimo, além de ser leve e permitir a compilação usando o Flex SDK (para configurar isso <a href="http://franciscoprado.com.br/wp-admin/post-new.php" target="_blank">veja este tutorial</a>).</p>
<p>Funciona em Windows (não sei se há versão para Mac, e não acredito que rode/possa rodar em Linux, uma vez que ele foi criado sobre o Microsoft .NET Framework &#8211; tentei emular e não deu certo).</p>
<p><a href="http://pt.wikibooks.org/wiki/ActionScript/Ambientes_de_desenvolvimento_para_Actionscript" target="_blank"><strong>Ambientes de Desenvolvimento para ActionScript</strong></a> &#8211; aqui segue uma lista com outros programas (e seus links) para programar em ActionScript.</p>
<p><a href="http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK;jsessionid=7CE55387459E6BB10A21B7E756C408EF" target="_blank"><strong>Flex SDK</strong></a> &#8211; necessário ter caso queira compilar seus programas via FlashDevelop, entre outros. É <em>opensource</em>.</p>
<h2>Tutoriais</h2>
<p><a href="http://pt.wikibooks.org/wiki/ActionScript" target="_blank"><strong>Wikilivro em português</strong></a> &#8211; wikilivro sobre AS 3.0 hospedado no Wikilivros (da Wikipédia).</p>
<p><strong>Tutorial do Mário Santos (em PDF) – <a href="http://msdevstudio.com/blog/2008/06/30/tutorial-action-script-3-parte-i-o-livro/" target="_blank">parte 1</a> e <a href="http://msdevstudio.com/blog/go.php?http://msdevstudio.com/blog/download-manager.php?id=28" target="_blank">parte 2</a></strong> &#8211; talvez os mais populares tutoriais sobre AS 3.0 em português (de Portugal) da Web.</p>
<h2>Bibliotecas</h2>
<p>Você pode ver uma <a href="http://franciscoprado.com.br/2010/01/11/rapidas-sobre-actionscript-3-0/" target="_blank">postagem minha antiga sobre algumas bibliotecas</a>. Há sobre bibliotecas 3D apenas. Aqui vou indicar mais algumas bibliotecas que talvez não sejam tão conhecidas.</p>
<p><strong><a href="http://code.google.com/p/as3isolib/" target="_blank">AS3ISOlib</a></strong> &#8211; biblioteca para geração de gráficos <a href="http://pt.wikipedia.org/wiki/Perspectiva_%28gr%C3%A1fica%29#Perspectiva_isom.C3.A9trica" target="_blank">isométricos</a>. A biblioteca é bem fácil de se usar e bem interessante. Ela foi feita para ser usada com o Adobe Flash apenas. Porém, mudando algumas propriedades de umas classes consegui fazer ela ser usada com o FlashDevelop (em outras palavras, mudei os objetos Vector, disponíveis apenas nos Adobe Flash CSx para Array, fácil. <img src='http://franciscoprado.com.br/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' />  ).</p>
<p><strong><a href="http://www.jiglibflash.com/" target="_blank">JigLibFlash</a></strong> &#8211; <em>engine </em>para simulação de física em 3D. Ela é ligada para fazer simulação usando em conjunto a biblioteca Papervision 3D, estritamente &#8211; mas há &#8220;plugins&#8221; para se utilizá-la em conjunto com Away3D, Sandy3D e outras.</p>
<p>O problema dela é esse: você não pode usá-la livremente (sem estar em conjunto com uma biblioteca 3D &#8211; você tem que estar atrelado a uma&#8230;). Os autores escreveram no blog deles que ainda pretendem mudar a arquitetura da biblioteca a fim de torná-la utilizável por qualquer outro modo &#8211; o que é uma boa notícia.</p>
<p><a href="http://not-so-stupid.com/open-source/wow-engine-en/" target="_blank"><strong>WOW 3D</strong></a> &#8211; outra <em>engine</em> de física em 3D. É baseada na <a href="http://www.cove.org/ape/" target="_blank">APE</a>, uma outra <em>engine</em> porém 2D. Esta aqui usa em conjunto a biblioteca Sandy3D para geração de gráficos 3D, apenas.</p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/04/10/mais-sobre-actionscript-3-0-programas-bibliotecas-e-dicas-library-app-tutorial/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>XML e Texto no ActionScript 3.0 &#8211; Tutoriais</title>
		<link>http://franciscoprado.com.br/2010/01/31/xml-e-texto-no-actionscript-3-0-tutoriais/</link>
		<comments>http://franciscoprado.com.br/2010/01/31/xml-e-texto-no-actionscript-3-0-tutoriais/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 11:24:51 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=824</guid>
		<description><![CDATA[Segue as dicas dos artigos (90% completos) sobre uso de campos de texto no AS 3.0 e uso de XML. Estou sem postagem séria no momento e não rascunhei nada. Mas esses artigos, ainda a serem completados, já contêm bastante coteúdo. O artigo sobre campos de texto já tem quase tudo a respeito sobre o ...]]></description>
			<content:encoded><![CDATA[<p>Segue as dicas dos artigos (90% completos) sobre uso de <a href="http://pt.wikibooks.org/wiki/ActionScript/Tipos_de_campos_de_texto" target="_blank">campos de texto no AS 3.0</a> e <a href="http://pt.wikibooks.org/wiki/ActionScript/Usando_XML_com_ActionScript" target="_blank">uso de XML</a>.</p>
<p>Estou sem postagem séria no momento e não rascunhei nada. Mas esses artigos, ainda a serem completados, já contêm bastante coteúdo.</p>
<p>O artigo sobre campos de texto já tem quase tudo a respeito sobre o assunto, com exceção ao uso de formatação com HTML e CSS (a ser inserido).</p>
<p>O sobre XML, mais completo, ainda não tem conteúdo a respeito da remoção e inserção de elementos e envio de dados. De todo resto, está completo.</p>
<p>O endereço do wikilivro é este aqui: <a href="http://franciscoprado.com.br/wp-content/uploads/2010/01/book_open.png" rel="lightbox[824]"><img class="alignnone size-full wp-image-373" title="book_open" src="http://franciscoprado.com.br/wp-content/uploads/2010/01/book_open.png" alt="" width="16" height="16" /></a><a href="http://pt.wikibooks.org/wiki/ActionScript">http://pt.wikibooks.org/wiki/ActionScript</a></p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/01/31/xml-e-texto-no-actionscript-3-0-tutoriais/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Baleiando não!</title>
		<link>http://franciscoprado.com.br/2010/01/20/baleiando-nao/</link>
		<comments>http://franciscoprado.com.br/2010/01/20/baleiando-nao/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 12:10:37 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[aviso]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=221</guid>
		<description><![CDATA[Devido ao fato de estar muito ocupado com outras coisas (jobs, etc)  o wikilivro ficou sem acréscimos nas últimas semanas. Mas há um artigo destinado ao uso de campos de texto (campos de senhas, input etc.) inserido (e incompleto ainda) lá. Há outros artigos que tiveram pequenos acréscimos, dêem uma olhada lá. Até a próxima.]]></description>
			<content:encoded><![CDATA[<p>Devido ao fato de estar muito ocupado com outras coisas (jobs, etc)  o <a href="http://pt.wikibooks.org/wiki/ActionScript" target="_blank">wikilivro</a> ficou sem acréscimos nas últimas semanas.</p>
<p>Mas há um artigo destinado ao <a href="http://pt.wikibooks.org/wiki/ActionScript/Tipos_de_campos_de_texto" target="_blank">uso de campos de texto</a> (campos de senhas, input etc.) inserido (e incompleto ainda) lá.</p>
<p>Há outros artigos que tiveram pequenos acréscimos, dêem uma olhada lá. Até a próxima. <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/01/20/baleiando-nao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rápidas sobre ActionScript 3.0</title>
		<link>http://franciscoprado.com.br/2010/01/11/rapidas-sobre-actionscript-3-0/</link>
		<comments>http://franciscoprado.com.br/2010/01/11/rapidas-sobre-actionscript-3-0/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 13:07:04 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=196</guid>
		<description><![CDATA[Mais um post da série dedicada à linguagem ActionScript (versão 3). Garimpando rapidamente no Google, sites e blogs por estes dias, selecionei alguns links sobre o assunto. São posts e sites dedicados à bibliotecas, dicas, tutoriais&#8230; Abaixo, os links com comentários. ActionScript CheatSheet: parece ser muito bom: reúne várias cheatsheets (listas/dicionários com dicas de comandos ...]]></description>
			<content:encoded><![CDATA[<p>Mais um post da série dedicada à linguagem ActionScript (versão 3). Garimpando rapidamente no Google, sites e blogs por estes dias, selecionei alguns links sobre o assunto. São posts e sites dedicados à bibliotecas, dicas, tutoriais&#8230; Abaixo, os links com comentários.</p>
<ul>
<li><a href="http://actionscriptcheatsheet.com/blog/" target="_blank">ActionScript CheatSheet</a>: parece ser muito bom: reúne várias cheatsheets (listas/dicionários com dicas de comandos e propriedades) sobre ActionScript, Papervision 3D (biblioteca para geração de 3D), AIR e outros. A seção de downloads das folhas está <a href="http://actionscriptcheatsheet.com/blog/quick-referencecheatsheet-for-actionscript-20/" target="_blank">aqui</a>. Dica: baixem o segundo PDF, tem várias funções relativas à datas, arrays, tipos de erros, etc.</li>
<li><a href="http://www.blogna.org/blog/adobe-flash/30-more-awesome-open-source-as3-libraries/" target="_blank">30 grandes bibliotecas para AS 3</a>: postagem reunindo links para várias bibliotecas de código aberto, de gêneros variados: física, desenvolvimento de games, 3D&#8230; Recomendo uma visita.</li>
<li><a href="http://henryjones.us/articles/actionscript-3-physics-engines" target="_blank">Bibliotecas de física para AS 3</a>: postagem que cita diferenças entre as bibliotecas disponíveis para simulação de física.</li>
<li><a href="http://edutechwiki.unige.ch/en/Flash_3D" target="_blank">Flash 3D &#8211; Edutech</a> (em inglês): artigo numa wiki em que reúne comentários e links a respeito de vários tipos de bibliotecas para uso de física e 3D em Flash/ActionScript.</li>
<li><a href="http://flashsandy.org/" target="_blank">Sandy 3D</a>: eu sei, existe a <a href="http://blog.papervision3d.org/" target="_blank">Papervision3D</a> para geração de gráficos 3D com AS e é muito mais popular. No entanto, esta biblioteca parece ser muito interessante, pois eles disponibilizam tutoriais muito bons (em inglês) e passo-a-passo (procuro material organizado sobre Papervision3D na web e não encontro). Ainda não experimentei, mas fica a dica.</li>
<li><a href="http://away3d.com/" target="_blank">Away3D</a>: outra biblioteca 3D. Tem tutoriais e uma wiki a respeito. Conheço nada do projeto mas como deve haver entusiastas deixo o link aqui.</li>
<li>Tutorial do Mário Santos (em PDF) &#8211; <a href="http://msdevstudio.com/blog/2008/06/30/tutorial-action-script-3-parte-i-o-livro/" target="_blank">parte 1</a> e <a href="http://msdevstudio.com/blog/go.php?http://msdevstudio.com/blog/download-manager.php?id=28" target="_blank">parte 2</a>: uma apostila bem rica e interessante. Em português de Portugal. Aliás, nosso amigo lusitano <a href="http://msdevstudio.com/blog/" target="_blank">mantém um blog a respeito da linha Adobe</a> (Flex, Flash etc). Ele também posta tutoriais sobre AS, porém mais dirigido à plataforma Flex. Li a parte 1 e recomendo.</li>
<li><a href="http://blog.ericksouza.com/" target="_blank">Blog do Erick Souza</a>: blog do ituano Erick Souza, com ênfase em Flash. Tutoriais, dicas e notícias.</li>
</ul>
<p>E claro, o <a href="http://pt.wikibooks.org/wiki/ActionScript" target="_blank">Wikilivro de AS 3</a>. É o wikilivro sobre AS hospedado no Wikibooks em português. Como estou revisando a linguagem (estudei ela há um bom tempo) vou inserindo as informações nele. Já há bastantes tópicos. A galera tem gostado e tudo, mas seria interessante que, se possível, colaborasse, mesmo com simples revisões/testes ou acréscimos.</p>
<p>A ideia por trás do livro em formato wiki é que qualquer um pode colaborar e acrescentar, o que pode gerar um livro em constante expansão e atualização, além de gratuito, para temas como este (linguagens de programação).</p>
<p>O wikilivro é promissor? <a href="http://twitter.com/oclebermachado" target="_blank">Talvez</a>. Pelo jeito vai ter um único colaborador: eu <img src='http://franciscoprado.com.br/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  ! Mas é esperar para ver. Afinal só existe há cerca de 20 dias&#8230; <img src='http://franciscoprado.com.br/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
<p>Caso tenha links para sugerir, insira nos comentários, que atualizarei a postagem.</p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/01/11/rapidas-sobre-actionscript-3-0/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

