<?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>La Miscela &#187; Papervision3D</title>
	<atom:link href="http://www.lamiscela.net/category/papervision3d/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lamiscela.net</link>
	<description>Everything joined and mixed</description>
	<lastBuildDate>Tue, 17 Aug 2010 00:59:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Papervision3D Previewer</title>
		<link>http://www.lamiscela.net/2009/03/25/papervision3d-previewer/</link>
		<comments>http://www.lamiscela.net/2009/03/25/papervision3d-previewer/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 12:17:26 +0000</pubDate>
		<dc:creator>Junio Vitorno</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.lamiscela.net/?p=387</guid>
		<description><![CDATA[
Hello readers, i'm here for a quick tip.
If you are like me and always is looking for ways for improve your productivity, give a look for Papervision3D Previewer. Generally when is working with a 3D guy, developing some project using 3D tools and papervision, sometimes you spend much time, programming flash 3d environments just for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/mrdoob/wiki/pv3dpreviewer"><img class="alignnone size-full wp-image-388" title="ppv_previewer" src="http://www.lamiscela.net/wp-content/uploads/2009/03/ppv_previewer1.png" alt="" width="530" height="375" /></a></p>
<p>Hello readers, i'm here for a quick tip.</p>
<p>If you are like me and always is looking for ways for improve your productivity, give a look for <a href="http://code.google.com/p/mrdoob/wiki/pv3dpreviewer" target="_blank">Papervision3D Previewer</a>. Generally when is working with a 3D guy, developing some project using 3D tools and papervision, sometimes you spend much time, programming flash 3d environments just for test models, generated from 3D guy.</p>
<p>Thinking on this, <a href="http://mrdoob.com/">Mr. Doob</a> released a tool, than give to you a preview of your 3D model, without be necessary, programming a entire Papervision3D environment for that. The tool works basically, loading a selected mesh model, bringing it to inside flash, giving to you a preview his.</p>
<p>Visit the <a href="http://code.google.com/p/mrdoob/wiki/pv3dpreviewer" target="_blank">project page</a> and get more info about him, does download of the tool, source files and samples.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamiscela.net/2009/03/25/papervision3d-previewer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pepsi Music Challenge</title>
		<link>http://www.lamiscela.net/2008/12/10/pepsi-music-challenge/</link>
		<comments>http://www.lamiscela.net/2008/12/10/pepsi-music-challenge/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 12:02:18 +0000</pubDate>
		<dc:creator>Junio Vitorno</dc:creator>
				<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.lamiscela.net/?p=178</guid>
		<description><![CDATA[
You know Guitar Hero right? If you known't, probably you was lost in some island for there. Well, but if you know, prepare yourself to PPV3D Guitar Hero like web site, produced by Muskedunder Interactive to Pepsi SE, the awesome site have a great playability and make usage of the all ppv engine to do [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.pepsi.se/" target="_blank"><img class="size-medium wp-image-179 aligncenter" title="pepsi" src="http://www.lamiscela.net/wp-content/uploads/2008/12/pepsi-300x300.jpg" alt="" width="300" height="300" /></a></p>
<p>You know Guitar Hero right? If you known't, probably you was lost in some island for there. Well, but if you know, prepare yourself to PPV3D Guitar Hero like web site, produced by <a href="http://www.muskedunder.com/" target="_blank">Muskedunder Interactive</a> to Pepsi SE, the awesome site have a great playability and make usage of the all ppv engine to do this possible, things how mesh control, animated models, at all. Nice work as a great performance, i think than has everything to become a fever, still more with 3 Ipod's as gift.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamiscela.net/2008/12/10/pepsi-music-challenge/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Working with animated models in Papervision3D</title>
		<link>http://www.lamiscela.net/2008/12/03/working-with-animated-models-in-papervision3d/</link>
		<comments>http://www.lamiscela.net/2008/12/03/working-with-animated-models-in-papervision3d/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 11:30:39 +0000</pubDate>
		<dc:creator>Junio Vitorno</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.lamiscela.net/?p=139</guid>
		<description><![CDATA[

	

Yesterday a friend shown me a video where a human interacted with a 3D object built in papervision3D using a camera. I stayed curious with this, and started with my own experiment.
The first step, is load a animated model into papervision, than is what this post will cover for now.
After built your animated model, load [...]]]></description>
			<content:encoded><![CDATA[<p><center><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="400" height="400" id="Fooze3D" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="false" /><param name="movie" value="http://www.lamiscela.net/wp-content/uploads/2008/139/Fooze3D.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="http://www.lamiscela.net/wp-content/uploads/2008/139/Fooze3D.swf" quality="high" bgcolor="#ffffff" width="400" height="400" name="Fooze3D" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /><br />
	</object><br />
</center><br />
Yesterday a friend shown me a <a href="http://vimeo.com/2283082?pg=embed&amp;sec=2283082" target="_blank">video</a> where a human interacted with a 3D object built in papervision3D using a camera. I stayed curious with this, and started with my own experiment.</p>
<p>The first step, is load a animated model into papervision, than is what this post will cover for now.</p>
<p>After built your animated model, load it, into papervision is quite easy, the most hard work, is of the our 3D brothers, but if you don't have 3D habilities( like me) you can download a MD2 Quake model <a href="http://polycount.com/models/quake2/" target="_blank">here</a>, to perform the steps to follow.</p>
<p><span id="more-139"></span></p>
<p>Open a new as3 flash file in Flash authoring tool and give it Fooze3D name in document class (ignore any error message). For now, Flash no will be more necessary, just to publish your swf, then keep it opened. Before we beginning the codification, we go convert the .pcx files for .jpg files (only if your download your model from <a href="http://polycount.com/models/quake2/" target="_blank">Quake 2 models website</a>). Open any .pcx file in your Photoshop and just save it at .jpg format.</p>
<p>Now we can start the play, open your AS3 code editor (mine is Flex 3), and create a new class named Fooze3D.as</p>
<p>Inside this class, put the code below. (Attention to comments)</p>
<pre class="actionscript"><span style="color: #808080; font-style: italic;">/**
 *
 * @author Junio Vitorino
 * description: Working with animated models with and texture into papervision 3D
 * date: 01/12/2009 10:29
 *
 */</span>
&nbsp;
package  <span style="color: #66cc66;">&#123;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">// Importing Flash Event Class</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">// Importing Papervision Class</span>
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">materials</span>.<span style="color: #006600;">BitmapFileMaterial</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">materials</span>.<span style="color: #006600;">BitmapMaterial</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">objects</span>.<span style="color: #006600;">parsers</span>.<span style="color: #006600;">MD2</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">view</span>.<span style="color: #006600;">BasicView</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Fooze3D <span style="color: #0066CC;">extends</span> BasicView <span style="color: #66cc66;">&#123;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Fooze3D<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">// Calling super constructor from BasicView and set width, height and scaleToStage parameters</span>
			<span style="color: #0066CC;">super</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">400</span>, <span style="color: #cc66cc;">400</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			initPapervisionEnv<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			builtModel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">// Here we initialize all properties to your papervision environment</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> initPapervisionEnv<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">// Add a listener to render the scene using ENTER_FRAME</span>
			addEventListener<span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">ENTER_FRAME</span>, render<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">// This method will begin to built your animated model inside papervision environment</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> builtModel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">// This variable load the skin/texture to your model from a external Bitmap</span>
			<span style="color: #000000; font-weight: bold;">var</span> foozeSkin:BitmapFileMaterial = <span style="color: #000000; font-weight: bold;">new</span> BitmapFileMaterial<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'fooze/RUNAR.jpg'</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// Create a new instance of MD2 type. Is with her than you will can manipulate your model in runtime</span>
			<span style="color: #000000; font-weight: bold;">var</span> fooze:MD2 = <span style="color: #000000; font-weight: bold;">new</span> MD2<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// Setting model name, with this you can use methods as, getChildByName in scene object.</span>
			fooze.<span style="color: #0066CC;">name</span> = <span style="color: #ff0000;">'fooze'</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">/* Here we using load method to set the path to mine MD2 file. The others parameters are, the material to cover the model,
			   the framerate than your model should be run (animation) and the last is the scale of this model (i didn't know why, but the
			   models when loaded are very small) */</span>
			fooze.<span style="color: #0066CC;">load</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'fooze/tris.md2'</span>, foozeSkin, <span style="color: #cc66cc;">10</span>, <span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// Setup X an Z rotation, to start in desired position</span>
			fooze.<span style="color: #006600;">rotationZ</span> = fooze.<span style="color: #006600;">rotationY</span> = <span style="color: #cc66cc;">90</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// Adding the model to the inherited scene variable.</span>
			scene.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>fooze<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> render<span style="color: #66cc66;">&#40;</span>event:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">/* Inside render method, we calling another inherited variable, called renderer
			 * this variable is a BasicRenderEgine,is who render the objects.
			 * renderScene method require 3 parameters
			 * your scene, your camera, and your viewport.
			 * All these variables, are inherited from BasicView class */</span>
			renderer.<span style="color: #006600;">renderScene</span><span style="color: #66cc66;">&#40;</span>scene, <span style="color: #0066CC;">camera</span>, viewport<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #66cc66;">&#125;</span></pre>
<p>Well, if all is okay, you already can publish your swf and see your animated model performing yours movements inside your flash.<br />
This was a quickly explanation, i always recommend you to give a look in papervision <a href="http://www.flashbookmarks.com/PV3D-GreatWhite-DOC/" target="_blank">documentation</a> (unofficial), to uncover more about the methods used here.</p>
<p>Download the source files <a href="http://www.lamiscela.net/wp-content/uploads/2008/139/fooze3D.zip">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamiscela.net/2008/12/03/working-with-animated-models-in-papervision3d/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Artigos sobre papervision</title>
		<link>http://www.lamiscela.net/2008/08/07/artigos-sobre-papervision/</link>
		<comments>http://www.lamiscela.net/2008/08/07/artigos-sobre-papervision/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 20:51:56 +0000</pubDate>
		<dc:creator>Junio Vitorno</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.lamiscela.net/?p=109</guid>
		<description><![CDATA[
Bom pessoal, como vocês devem ter percebido a série de artigos sobre papervision deu uma paradinha - não por minha vontade é claro, mas por força maior (money)  .

Nessas semanas, tive o prazer de participar de dois projetos para duas empresas internacionais. O primeiro foi para uma empresa da Suécia, um projeto de flash [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.papervision3d.org" target="_blank"><img class="alignnone size-full wp-image-110" title="papervision3d" src="http://www.lamiscela.net/wp-content/uploads/2008/08/papervision3d1.png" alt="" width="500" height="105" /></a></p>
<p>Bom pessoal, como vocês devem ter percebido a série de artigos sobre papervision deu uma paradinha - não por minha vontade é claro, mas por força maior (<span style="text-decoration: line-through;">money</span>) <img src='http://www.lamiscela.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</p>
<p><span id="more-109"></span></p>
<p>Nessas semanas, tive o prazer de participar de dois projetos para duas empresas internacionais. O primeiro foi para uma empresa da Suécia, um projeto de flash com a aplicação de papervision3D. O outro foi para um projeto canadense, mas para uma empresa da Alemanha com muito Flex na veia <img src='http://www.lamiscela.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> .</p>
<p>Infelizmente não posso dar mais detalhes sobre os projetos, pois ainda não foram lançados. Só posso dizer que foi um puta aprendizado e acho que todo desenvolvedor, em sua carreira deveria ter a oportunidade de participar de projetos com outros programadores de outros países, pois a cultura dessas pessoas influênciam diretamente na forma em que eles desenvolvem e isso é muito doido. <img src='http://www.lamiscela.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>A boa notícia (eu acho) é que minha participação nos dois projetos já foi concluída e poderei voltar a postar os artigos sobre papervision.</p>
<p>Na proxima semana, novos artigos estarão por ai e conto com a sugestão de todos vocês. Se você deseja ver alguma coisa diferente, posta ai um comentário, deixe sua opinião, sugestão ou crítica, aqui quem manda são vocês. <img src='http://www.lamiscela.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Abraços e até a proxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamiscela.net/2008/08/07/artigos-sobre-papervision/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eventos físicos no Papervision3D</title>
		<link>http://www.lamiscela.net/2008/07/27/eventos-fisicos-no-papervision3d/</link>
		<comments>http://www.lamiscela.net/2008/07/27/eventos-fisicos-no-papervision3d/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 22:28:39 +0000</pubDate>
		<dc:creator>Junio Vitorno</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Física]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.lamiscela.net/?p=81</guid>
		<description><![CDATA[Simular física no flash é um assunto antigo, várias bibliotecas já foram desenvolvidas por programadores ao redor do globo, e diga-se de passagem,  fazem muito bem esse trabalho. Há algum tempo, também e possível simulá-los no papervision, eventos como distorção de textura, gravidade e outros, tornam a aplicação bem mais interessante.

A primeira do qual ouvi [...]]]></description>
			<content:encoded><![CDATA[<p>Simular física no flash é um assunto antigo, várias bibliotecas já foram desenvolvidas por programadores ao redor do globo, e diga-se de passagem,  fazem muito bem esse trabalho. Há algum tempo, também e possível simulá-los no papervision, eventos como distorção de textura, gravidade e outros, tornam a aplicação bem mais interessante.</p>
<p><span id="more-81"></span></p>
<p>A primeira do qual ouvi falar para PPV foi a <a href="http://seraf.mediabox.fr/wow-engine/as3-3d-physics-engine-wow-engine/" target="_blank">WOW </a>uma biblioteca opensource desenvolvida por Jérôme Birembaut e que foi utilizada no site da <a href="http://www.absolut.com/iaaw/" target="_blank">Absolute Wold</a> que fez muito barulho a uns meses atrás. Recentemente um desenvolvedor japonês mostrou sua própria biblioteca para simular esses eventos físicos . Seu nome é <a href="http://roxik.com/">Masayuki Kido.</a> Masayuki tem trabalhos de peso nas costas, como o explêndido <a href="http://www.ecodazoo.com">ECODAZOO</a> e o <a href="http://roxik.com/pictaps/" target="_blank">PICTAPS</a> .</p>
<p>Visite a pagina de <a href="http://temp.roxik.com/datas/physics/index.html" target="_blank">demos</a> e confiram os experimentos do matuto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamiscela.net/2008/07/27/eventos-fisicos-no-papervision3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Papervision3D conheçendo código!!</title>
		<link>http://www.lamiscela.net/2008/07/23/papervision3d-conhecendo-codigo/</link>
		<comments>http://www.lamiscela.net/2008/07/23/papervision3d-conhecendo-codigo/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 16:39:52 +0000</pubDate>
		<dc:creator>Junio Vitorno</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.lamiscela.net/?p=44</guid>
		<description><![CDATA[Bom galera, finalmente vamos começar a fazer algumas coisinhas, aconselho a  leitura dos dois primeiros posts sobre papervision, o humm!! e o cuma!! para quem esta chegando aqui agora, para os demais vamos brincar!!!
No ultimo post falamos de viewport, scene (cena), camera e render - os 4 items principais que um projeto do papervision deve [...]]]></description>
			<content:encoded><![CDATA[<p>Bom galera, finalmente vamos começar a fazer algumas coisinhas, aconselho a  leitura dos dois primeiros posts sobre papervision, o <a href="http://www.lamiscela.net/?p=30">humm!!</a> e o <a href="http://www.lamiscela.net/?p=38">cuma!!</a> para quem esta chegando aqui agora, para os demais vamos brincar!!!</p>
<p>No ultimo post falamos de viewport, scene (cena), camera e render - os 4 items principais que um projeto do papervision deve possuir. Não vou explicar aqui como criar um projeto no FlashDevelop ou no Flex (meu preferido), ou até mesmo como mapear as classes, isso é um procedimento básico e vou focar no framework em sí.</p>
<p>Tanto o FlashDevelop quanto o Flex já fazem os imports necessários o passo que você vai digitando, enquanto o Flex remove as classes que não foram utilizadas a cada atualização do documento, uma mão na roda para não deixar imports desnecessários no seu código. Para vizualização detalhada dessas classes de uma olhada na documentação <a href="http://www.flashbookmarks.com/PV3D-GreatWhite-DOC/">in progress</a>.</p>
<h3>VIEWPORT:</h3>
<pre lang='actionscript' line="1">
import org.papervision3d.view.Viewport3D;
private var viewport:Viewport3D = new Viewport3D();
addChild(viewport);
</pre>
<h3>SCENE:</h3>
<pre lang='actionscript' line="1"'>
import org.papervision3d.scenes.Scene3D;
private var scene:Scene3D = new Scene3D();
</pre>
<h3>CAMERA:</h3>
<p>Rescentemente a classe Camera3D passou por uma atualização, cameras que antes eram separadas por classes diferentes, 'FreeCamera3D', 'FrustumCamera3D' e a 'Camera3D', se tornaram uma única classe geral. Se você deseja mudar o tipo de camera, basta setar a propriedade Camera.target, que se for setado como null, representa uma camera livre(Free), se deseja que seja uma camera fixa, passa se no parâmetro target o objeto no qual deseja fixar a camera. Agora existe também o DebugCamera3D, mas esse é um assunto para outro post. Então se você não sabia ou se encontrar algum código que não esta funcionando com a ultima revision do papervision hoje a 653, não se assuste.</p>
<pre lang='actionscript' line="1">
import org.papervision3d.cameras.Camera3D;
private var viewport:Camera3D= new Camera3D();
</pre>
<h3>RENDER:</h3>
<p>O Render é o responsável por processar tudo de modo a exibir os objetos no ambiente 3D, como esse é um processo continuo, o render vem junto com um listener e o evento ENTER_FRAME de modo que ele sempre esteja atualizando a cena.</p>
<pre lang='actionscript' line="1">
import org.papervision3d.render.BasicRenderEngine;
private var renderer:BasicRenderEngine= new BasicRenderEngine();
addEventListener(Event.ENTER_FRAME, suafuncao);
private function suafuncao(e:Event){
       renderer.renderScene(scene, camera, viewport);
}
</pre>
<p>Aconselho a todos uma visita a documentação que não é oficial, mas que se mostra bem interessante e acho que pode ajudar e muito. Amanhã falaremos dos objetos primitivos e materiais.</p>
<p>Forte abraço galera!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamiscela.net/2008/07/23/papervision3d-conhecendo-codigo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Papervision 3D Cuma!!</title>
		<link>http://www.lamiscela.net/2008/07/22/papervision-3d-cuma/</link>
		<comments>http://www.lamiscela.net/2008/07/22/papervision-3d-cuma/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 16:55:40 +0000</pubDate>
		<dc:creator>Junio Vitorno</dc:creator>
				<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.lamiscela.net/?p=38</guid>
		<description><![CDATA[Olá pessoal, hoje veremos o que é necessário para criar nosso primeiro projeto com papervision. Se você ainda não leu o primeiro post dessa série, não deixe de conferi-lo antes de continuar.

Bom o papervision assim como uma ferramenta de modelagem/animação 3D precisa de alguns elementos básicos, que fazem com que seja possível o ambiente 3D [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal, hoje veremos o que é necessário para criar nosso primeiro projeto com papervision. Se você ainda não leu o <a href="http://www.lamiscela.net/?p=30">primeiro post</a> dessa série, não deixe de conferi-lo antes de continuar.</p>
<p><span id="more-38"></span></p>
<p>Bom o papervision assim como uma ferramenta de modelagem/animação 3D precisa de alguns elementos básicos, que fazem com que seja possível o ambiente 3D existir. No papervision não é diferente e para que possamos criar nossso ambiente precisamos de 4 items básicos que são: viewport, cena (scene), câmera e render.</p>
<p><span style="color: #00ffff;"><strong>Viewport</strong></span>: O conceito de viewport é muito abstrato na minha opinião. Uma vez li que o viewport pode ser tratado como uma passagem para o mundo real, ai você pensa humm? Mas é isso mesmo, o viewport nada mais é que uma porta que lhe dá a oportunidade de sair e cair no mundo, uma passagem, olhando pelo lado metafórico do assunto. Ele possibilita a manipulação da direção, do tamanho dessa porta ou janela, tudo isso irá compor o ambiente.</p>
<p><span style="color: #00ffff;"><strong>Cena (scene)</strong></span>: A cena ou scene se caminharmos na mesma linha de raciocino, é tudo que você vê por através da porta ou janela. As aves, o rio, a grama, aquela minazinha que tu ta de olho, e por ai vai heheheh. È tudo que fará parte do seu mundo real.</p>
<p><span style="color: #00ffff;"><strong>Câmera</strong></span>: A câmera, eu acho que é bem mais fácil de compreender, pois é aquela que dá visão a cena. Uma câmera no papervision é responsável por exibir os objetos para o espectador.</p>
<p><span style="color: #00ffff;"><strong>Render</strong></span>: Para os profissionais de 3D que estão acostumados com suas ferramentas, o render tem um conceito bem definido, no papervision ele tem a mesma função do render de ferramentas como 3Ds Max, Blender ou Maya, que é de reinderizar os objetos de modo que possamos exibir tudo aquilo que modelamos, animamos, etc. O render tem a função mais importante no papervision, sem o render nenhum dos objetos citados anteriormente fará diferença.</p>
<p>Esses 4 objetos são todos essências para a criação de qualquer projeto no papervision. Com o passar dos dias, veremos maneiras de implementar esses objetos e até mesmo como otimizar sua utilização.</p>
<p><span style="color: #ccffff;"><em>Pois bem, agora já sei o que é necessário para criar um projeto no papervision, mas e os  objetos como cria-los? Existe alguma coisa pronta como no Max ou Blender?</em></span></p>
<p>A resposta é sim. Assim como as ferramentas 3D tradicionais o papervision tem objetos primitivos pré concebidos, no qual podemos criar um cubo, uma esfera, um cone, um cilindro e um plano. Todos esses objetos são nativos do papervision e podem ser instanciados e criados a qualquer momento.</p>
<p>Além desses objetos, o papervision também oferece a possibilidade de carregar objetos complexos feitos nas ferramentas tradicionais de modelagem 3D. Hoje os formatos suportados são: Ase, Collada (esse é o mais completo, permite o carregamento de uma cena completa), Dae, KMZ, 3Ds e MD2.</p>
<p>Bom por hoje é só, amanha iniciaremos um projeto e faremos a criação de alguns objetos primitivos. Um abraço e até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamiscela.net/2008/07/22/papervision-3d-cuma/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Papervision3D Humm?</title>
		<link>http://www.lamiscela.net/2008/07/21/papervision3d-humm/</link>
		<comments>http://www.lamiscela.net/2008/07/21/papervision3d-humm/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 17:05:14 +0000</pubDate>
		<dc:creator>Junio Vitorno</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.lamiscela.net/?p=30</guid>
		<description><![CDATA[
Olá pessoal, hoje vou começar uma série de posts sobre papervision. Para quem não conhece, Papervision é uma engine 3D que tem como linguagem base o actionscript. Muitas pessoas falam que papervision é uma biblioteca 3D para flash, mas eu discordo. O papervision é muito mais do que uma simples biblioteca e muito menos limitada [...]]]></description>
			<content:encoded><![CDATA[<p><!--[endif]--></p>
<p class="MsoNormal" style="text-align: justify;">Olá pessoal, hoje vou começar uma série de posts sobre papervision. Para quem não conhece, Papervision é uma engine 3D que tem como linguagem base o actionscript. Muitas pessoas falam que papervision é uma biblioteca 3D para flash, mas eu discordo. O papervision é muito mais do que uma simples biblioteca e muito menos limitada somente ao flash. Papervision é no meu ponto de vista um poderoso framework open source de desenvolvimento 3D, que permite seu uso em adobe flash, adobe flex, adobe air e todas os derivados do flash player que suportem actionscript 2.0 (já não se desenvolve mais para AS2) ou actionscript 3.0</p>
<p class="MsoNormal" style="text-align: justify;"><span id="more-30"></span></p>
<p class="MsoNormal" style="text-align: justify;">Papervision foi concebido por Carlos Ulloa e hoje conta com inúmeros desenvolvedores que colaboram com o projeto de várias partes do mundo, que contribuem a para o desenvolvimento e o aperfeiçoamento do “framework”. O endereço oficial é o <a href="http://www.papervision3d.org/">http://www.papervision3d.org</a>, onde ali você já pode vizualizar uma pequena parcela do que se pode construir, além desse endereço existe também o <a href="http://blog.papervision3d.org/">blog official</a> e a <a href="http://www.nabble.com/Papervision3D-f22855.html">lista de discussão</a> e o <a href="http://dev.papervision3d.org/">blog de desenvolvimento</a>.</p>
<p class="MsoNormal" style="text-align: justify;">Essa série de posts não tem a pretensão de ensinar papervision, e sim tem como objetivo abordar o assunto para que seja discutido de forma mais aberta pela comunidade brasileira, abordando os pontos de vista dos brasileiros e as questão no desenvolvimento no Brasil, que são diferentes do desenvolvimento no resto do mundo.</p>
<p class="MsoNormal" style="text-align: justify;">A versão que será utilizada nestes posts é a Great White (2.0) que hoje é tratada como alpha, mas que já está sendo largamente utilizada e que na minha opinião não tem nada de alpha. A<span> </span>versão 2.0 hoje só pode ser obtiva através do SVN do projeto no google code. Se você não sabe como funciona o sistema de subversion, dê uma lida nesse <a href="http://www.kankeidbm.com/blog/usando-o-tortoisesvn">artigo</a> escrito pelo Aldinei Sampaio que explica como usar o client svn <a href="http://tortoisesvn.tigris.org/">Tortoise</a> sob a plataforma Windows ou no blog do Erick Souza <a href="http://blog.ericksouza.com/como-baixar-o-papervision-3d-20-alpha-great-white/">nest post</a>, que ensina com baixar o parpervision great white 2.0. Para quem utiliza mac, não tenho um artigo que explica como usar, mas aconselho o uso do <a href="http://www.lamiscela.net/?p=29">Versions</a>.</p>
<p class="MsoNormal" style="text-align: justify;">Bom por hoje é só pessoal, amanhã já começaremos a botar a mão na massa, por entender alguns conceitos que são essenciais para a criação de um ambiente 3D espero que gostem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamiscela.net/2008/07/21/papervision3d-humm/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GreatWhite + Effects</title>
		<link>http://www.lamiscela.net/2008/06/01/greatwhite-effects/</link>
		<comments>http://www.lamiscela.net/2008/06/01/greatwhite-effects/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 01:13:42 +0000</pubDate>
		<dc:creator>Junio Vitorno</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.juniovitorino.com/?p=22</guid>
		<description><![CDATA[Olá pessoal, hoje estava passando pela lista official do papervision e lí que os pacotes Great White e Effects agora eram um só. Mais do que rápido cliquei sobre minha pasta de classes e utilizando o Tortoise SVN atualizei minha versão.
Como não poderia faltar, fui eu fazer um exemplo aplicando efeitos aos objetos e saiu [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal, hoje estava passando pela lista official do papervision e lí que os pacotes Great White e Effects agora eram um só. Mais do que rápido cliquei sobre minha pasta de classes e utilizando o Tortoise SVN atualizei minha versão.</p>
<p>Como não poderia faltar, fui eu fazer um exemplo aplicando efeitos aos objetos e saiu isso ai ó.</p>
<p><span id="more-21"></span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="600" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.lamiscela.net/wp-content/uploads/2008/06/main1.swf" /><embed type="application/x-shockwave-flash" width="600" height="300" src="http://www.lamiscela.net/wp-content/uploads/2008/06/main1.swf"></embed></object></p>
<p>O código fonte está ai abaixo e os arquivos fontes para download estão <a href="http://www.lamiscela.net/wp-content/uploads/2008/06/ppveffect1.zip">aqui</a>.</p>
<p>[sourcecode='java']</p>
<p>/*<br />
Author: Junio Vitorino<br />
Date: 01/06/2008<br />
Description: Sphere Effects<br />
*/</p>
<p>package src.com.vitorino<br />
{<br />
import caurina.transitions.Tweener;</p>
<p>import flash.events.Event;<br />
import flash.filters.BlurFilter;</p>
<p>import org.papervision3d.core.effects.BitmapLayerEffect;<br />
import org.papervision3d.materials.ColorMaterial;<br />
import org.papervision3d.objects.primitives.Sphere;<br />
import org.papervision3d.view.BasicView;<br />
import org.papervision3d.view.layer.BitmapEffectLayer;</p>
<p>public class Main extends BasicView<br />
{<br />
private const QUANTIDADE:int = 10;</p>
<p>public function Main()<br />
{<br />
super(600, 300);<br />
init()<br />
}</p>
<p>private function init():void<br />
{<br />
var bfx:BitmapEffectLayer = new BitmapEffectLayer(viewport, 600, 300);<br />
bfx.addEffect(new BitmapLayerEffect(new BlurFilter(25, 25, 3)));<br />
bfx.setScroll(15);<br />
viewport.containerSprite.addLayer(bfx);</p>
<p>for(var i:int = 0; i < QUANTIDADE; i++)<br />
{<br />
var bola:Sphere = new Sphere(new ColorMaterial(0xffcc00 * i));<br />
bola.name = "bola" + i;<br />
scene.addChild(bola);<br />
bfx.addDisplayObject3D(bola);<br />
}</p>
<p>addEventListener(Event.ENTER_FRAME, RENDER);</p>
<p>randomPosition();</p>
<p>}</p>
<p>private function RENDER(e:Event):void<br />
{<br />
renderer.renderScene(scene, camera, viewport);<br />
}</p>
<p>private function randomPosition():void<br />
{<br />
var sp:Sphere;<br />
for(var i:int = 0; i < QUANTIDADE; i++)<br />
{<br />
sp = Sphere(scene.getChildByName("bola" + i));<br />
Tweener.addTween(sp,<br />
{<br />
x:Math.random() * 1000 - 400,<br />
y:Math.random() * 1000 - 300,<br />
z:Math.random() * 1000,<br />
time:.5,<br />
transition:"easeoutexpo",<br />
onComplete:randomPosition<br />
});<br />
}<br />
}<br />
}<br />
}</p>
<p>[/sourcecode]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamiscela.net/2008/06/01/greatwhite-effects/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Papervison3D &#8211; Interatividade</title>
		<link>http://www.lamiscela.net/2008/05/31/papervison3d-interatividade/</link>
		<comments>http://www.lamiscela.net/2008/05/31/papervison3d-interatividade/#comments</comments>
		<pubDate>Sat, 31 May 2008 23:17:35 +0000</pubDate>
		<dc:creator>Junio Vitorno</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.juniovitorino.com/?p=18</guid>
		<description><![CDATA[Olá galera!!
Esses dias estava conversando com um amigo e ele me perguntou se eu poderia ajudá-lo a entender como funciona os eventos de click, mouseOver, mouseOut, etc.. em objetos dentro do papervision3d. Sendo assim, fiz este exemplo básico ai em cima que demonstra como é simples trabalhar com o eventos da classe InteractiveScene3DEvent.

Clique nos objetos [...]]]></description>
			<content:encoded><![CDATA[<p>Olá galera!!</p>
<p>Esses dias estava conversando com um amigo e ele me perguntou se eu poderia ajudá-lo a entender como funciona os eventos de click, mouseOver, mouseOut, etc.. em objetos dentro do papervision3d. Sendo assim, fiz este exemplo básico ai em cima que demonstra como é simples trabalhar com o eventos da classe InteractiveScene3DEvent.</p>
<p><span id="more-16"></span></p>
<p>Clique nos objetos para vizualizar as ações.</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="quality" value="high" /><param name="src" value="http://www.lamiscela.net/wp-content/uploads/2008/05/main1.swf" /><param name="align" value="bottom" /><embed type="application/x-shockwave-flash" width="500" height="300" src="http://www.lamiscela.net/wp-content/uploads/2008/05/main1.swf" align="bottom" quality="high"></embed></object></p>
<p>Os arquivos desse exemplo podem ser baixados <a href="http://www.juniovitorino.com/wp-content/lab/planos_interativos.zip">aqui</a>.</p>
<pre class="actionscript">&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;">/*
Author: Junio Vitorino
Date: 31/05/2008
Description: Interactive Objects
*/</span>
&nbsp;
package src
<span style="color: #66cc66;">&#123;</span>
<span style="color: #0066CC;">import</span> caurina.<span style="color: #006600;">transitions</span>.<span style="color: #006600;">Tweener</span>;
&nbsp;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">StageScaleMode</span>;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;
&nbsp;
<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">core</span>.<span style="color: #0066CC;">math</span>.<span style="color: #006600;">Number3D</span>;
<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">events</span>.<span style="color: #006600;">InteractiveScene3DEvent</span>;
<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">materials</span>.<span style="color: #006600;">ColorMaterial</span>;
<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">materials</span>.<span style="color: #006600;">utils</span>.<span style="color: #006600;">MaterialsList</span>;
<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">objects</span>.<span style="color: #006600;">DisplayObject3D</span>;
<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">objects</span>.<span style="color: #006600;">primitives</span>.<span style="color: #006600;">Cube</span>;
<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">view</span>.<span style="color: #006600;">BasicView</span>;
&nbsp;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #0066CC;">extends</span> BasicView
<span style="color: #66cc66;">&#123;</span>
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> clicado:<span style="color: #0066CC;">Boolean</span>;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> holdPos:Number3D;
&nbsp;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #0066CC;">super</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">500</span>, <span style="color: #cc66cc;">300</span>, <span style="color: #000000; font-weight: bold;">true</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>;
init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #000000; font-weight: bold;">var</span> cont:DisplayObject3D = <span style="color: #000000; font-weight: bold;">new</span> DisplayObject3D<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
cont.<span style="color: #0066CC;">name</span> = <span style="color: #ff0000;">&quot;root&quot;</span>;
scene.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>cont<span style="color: #66cc66;">&#41;</span>;
cont.<span style="color: #006600;">z</span> = <span style="color: #cc66cc;">-300</span>;
&nbsp;
<span style="color: #0066CC;">stage</span>.<span style="color: #0066CC;">scaleMode</span> = StageScaleMode.<span style="color: #006600;">NO_SCALE</span>;
&nbsp;
buildPlanes<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
listeners<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> buildPlanes<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #000000; font-weight: bold;">var</span> ml:MaterialsList = <span style="color: #000000; font-weight: bold;">new</span> MaterialsList
<span style="color: #66cc66;">&#40;</span>
<span style="color: #66cc66;">&#123;</span>front: <span style="color: #000000; font-weight: bold;">new</span> ColorMaterial<span style="color: #66cc66;">&#40;</span>0x84aa21, <span style="color: #cc66cc;">1</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>,
back:<span style="color: #000000; font-weight: bold;">new</span> ColorMaterial<span style="color: #66cc66;">&#40;</span>0xd00000, <span style="color: #cc66cc;">1</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> excFaces:<span style="color: #0066CC;">int</span> = Cube.<span style="color: #006600;">TOP</span> + Cube.<span style="color: #006600;">BOTTOM</span> + Cube.<span style="color: #0066CC;">LEFT</span> + Cube.<span style="color: #0066CC;">RIGHT</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">_x</span>:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>;
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">_y</span>:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>;
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">_width</span>:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;
<span style="color: #000000; font-weight: bold;">var</span> columns:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">5</span>;
&nbsp;
<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>; i &amp;lt; <span style="color: #cc66cc;">10</span>; i++<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #000000; font-weight: bold;">var</span> obj:Cube = <span style="color: #000000; font-weight: bold;">new</span> Cube<span style="color: #66cc66;">&#40;</span>ml, <span style="color: #cc66cc;">200</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">300</span>, <span style="color: #cc66cc;">3</span>, <span style="color: #cc66cc;">3</span>, <span style="color: #cc66cc;">3</span>, <span style="color: #cc66cc;">0</span>, excFaces<span style="color: #66cc66;">&#41;</span>;
obj.<span style="color: #0066CC;">name</span> = <span style="color: #ff0000;">&quot;item&quot;</span> + i;
obj.<span style="color: #006600;">x</span> = -<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> * <span style="color: #cc66cc;">-5000</span>;
obj.<span style="color: #006600;">y</span> = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> * <span style="color: #cc66cc;">5000</span>;
obj.<span style="color: #006600;">z</span> = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> * <span style="color: #cc66cc;">5000</span>;
obj.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>InteractiveScene3DEvent.<span style="color: #006600;">OBJECT_CLICK</span>, itemClick<span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">round</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">215</span> * <span style="color: #66cc66;">&#40;</span>i % columns<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">_y</span> = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">round</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">315</span> * <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">floor</span><span style="color: #66cc66;">&#40;</span>i / columns<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">_width</span> += <span style="color: #cc66cc;">210</span>;
Tweener.<span style="color: #006600;">addTween</span><span style="color: #66cc66;">&#40;</span>obj, <span style="color: #66cc66;">&#123;</span>x:<span style="color: #0066CC;">_x</span>, y:<span style="color: #0066CC;">_y</span>, z:<span style="color: #cc66cc;">0</span>, <span style="color: #0066CC;">time</span>:.<span style="color: #cc66cc;">7</span>, transition:<span style="color: #ff0000;">&quot;easeoutexpo&quot;</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
scene.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;root&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>obj<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
scene.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;root&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">x</span> = -<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span> * .<span style="color: #cc66cc;">5</span> - <span style="color: #cc66cc;">150</span>;
scene.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;root&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">y</span> -= <span style="color: #cc66cc;">100</span>;
<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">RESIZE</span>, rePos<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> rePos<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
scene.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;root&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">x</span> = -<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span> * .<span style="color: #cc66cc;">5</span> - <span style="color: #cc66cc;">150</span>;
scene.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;root&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">y</span> -= <span style="color: #cc66cc;">100</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> listeners<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
addEventListener<span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">ENTER_FRAME</span>, RENDER<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> RENDER<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
renderer.<span style="color: #006600;">renderScene</span><span style="color: #66cc66;">&#40;</span>scene, <span style="color: #0066CC;">camera</span>, viewport, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> itemClick<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:InteractiveScene3DEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>!clicado<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
off<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span><span style="color: #66cc66;">&#41;</span>;
holdPos = <span style="color: #000000; font-weight: bold;">new</span> Number3D<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span>.<span style="color: #006600;">x</span>, <span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span>.<span style="color: #006600;">y</span>, <span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span>.<span style="color: #006600;">z</span><span style="color: #66cc66;">&#41;</span>;
Tweener.<span style="color: #006600;">addTween</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span>, <span style="color: #66cc66;">&#123;</span>z:<span style="color: #cc66cc;">-610</span>, x:<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span> * .<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span><span style="color: #cc66cc;">+150</span>, y:<span style="color: #cc66cc;">100</span>, <span style="color: #0066CC;">time</span>:.<span style="color: #cc66cc;">4</span>, transition:<span style="color: #ff0000;">&quot;easeoutquart&quot;</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
clicado = <span style="color: #000000; font-weight: bold;">true</span>;
Tweener.<span style="color: #006600;">addTween</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">camera</span>, <span style="color: #66cc66;">&#123;</span>z:<span style="color: #cc66cc;">-1050</span>, <span style="color: #0066CC;">time</span>:.<span style="color: #cc66cc;">5</span>, transition:<span style="color: #ff0000;">&quot;easeoutexpo&quot;</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">else</span>
<span style="color: #66cc66;">&#123;</span>
Cube<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">removeEventListener</span><span style="color: #66cc66;">&#40;</span>InteractiveScene3DEvent.<span style="color: #006600;">OBJECT_CLICK</span>, itemClick<span style="color: #66cc66;">&#41;</span>;
Cube<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>InteractiveScene3DEvent.<span style="color: #006600;">OBJECT_CLICK</span>, resetItem<span style="color: #66cc66;">&#41;</span>;
Tweener.<span style="color: #006600;">addTween</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span>, <span style="color: #66cc66;">&#123;</span>rotationY:<span style="color: #cc66cc;">180</span>, <span style="color: #0066CC;">time</span>:.<span style="color: #cc66cc;">4</span>, transition:<span style="color: #ff0000;">&quot;easeoutquart&quot;</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> resetItem<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:InteractiveScene3DEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
Tweener.<span style="color: #006600;">addTween</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">camera</span>, <span style="color: #66cc66;">&#123;</span>z:<span style="color: #cc66cc;">-950</span>, <span style="color: #0066CC;">time</span>:.<span style="color: #cc66cc;">5</span>, transition:<span style="color: #ff0000;">&quot;easeoutquart&quot;</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
Cube<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>InteractiveScene3DEvent.<span style="color: #006600;">OBJECT_CLICK</span>, itemClick<span style="color: #66cc66;">&#41;</span>;
Cube<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">removeEventListener</span><span style="color: #66cc66;">&#40;</span>InteractiveScene3DEvent.<span style="color: #006600;">OBJECT_CLICK</span>, resetItem<span style="color: #66cc66;">&#41;</span>;
Tweener.<span style="color: #006600;">addTween</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span>, <span style="color: #66cc66;">&#123;</span>z:holdPos.<span style="color: #006600;">z</span>, x:holdPos.<span style="color: #006600;">x</span>, y:holdPos.<span style="color: #006600;">y</span>, rotationY:<span style="color: #cc66cc;">0</span>, <span style="color: #0066CC;">time</span>:.<span style="color: #cc66cc;">4</span>, transition:<span style="color: #ff0000;">&quot;easeoutquart&quot;</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
clicado = <span style="color: #000000; font-weight: bold;">false</span>;
<span style="color: #0066CC;">on</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> off<span style="color: #66cc66;">&#40;</span>_obj:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>; i &amp;lt; scene.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;root&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">numChildren</span>; i++<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
scene.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;root&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;item&quot;</span>+i<span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">removeEventListener</span><span style="color: #66cc66;">&#40;</span>InteractiveScene3DEvent.<span style="color: #006600;">OBJECT_CLICK</span>, itemClick<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
_obj.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>InteractiveScene3DEvent.<span style="color: #006600;">OBJECT_CLICK</span>, itemClick<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">on</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>; i &amp;lt; scene.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;root&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">numChildren</span>; i++<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
scene.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;root&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;item&quot;</span>+i<span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>InteractiveScene3DEvent.<span style="color: #006600;">OBJECT_CLICK</span>, itemClick<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.lamiscela.net/2008/05/31/papervison3d-interatividade/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
