<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Marco Molina &#187; Actionscript 3 AS3</title>
	<atom:link href="http://webcorp.wordpress.com/category/flash/actionscript/actionscript-3-as3/feed/" rel="self" type="application/rss+xml" />
	<link>http://webcorp.wordpress.com</link>
	<description>Flash Developer</description>
	<lastBuildDate>Wed, 02 Apr 2008 02:41:44 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='webcorp.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/a740ec8314cc84764685f83e671fe087?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Marco Molina &#187; Actionscript 3 AS3</title>
		<link>http://webcorp.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://webcorp.wordpress.com/osd.xml" title="Marco Molina" />
		<item>
		<title>Papervision &#8211; Tutorial 3 ( Material Bitmap )</title>
		<link>http://webcorp.wordpress.com/2008/02/19/papervision-tutorial-3-material-bitmap/</link>
		<comments>http://webcorp.wordpress.com/2008/02/19/papervision-tutorial-3-material-bitmap/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 02:47:01 +0000</pubDate>
		<dc:creator>Marco Molina</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Actionscript 3 AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Papervision]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[BitMapMaterial]]></category>
		<category><![CDATA[Material]]></category>

		<guid isPermaLink="false">http://webcorp.wordpress.com/?p=13</guid>
		<description><![CDATA[Eu imagino que alguns visitantes possam estar achando os tutoriais muito básicos.
Peço desculpas, mas a minha intenção por enquanto é exatamente essa : ir devagar para que todo mundo posso ir habituando-se com o Papervision.
Dito isso, vamos dar continuidade à série.
Dessa vez incorporando mais objetos nativos e utilizando imagens como material.


Antes de mais nada crie duas imagens [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=13&subd=webcorp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Eu imagino que alguns visitantes possam estar achando os tutoriais muito básicos.<br />
Peço desculpas, mas a minha intenção por enquanto é exatamente essa : ir devagar para que todo mundo posso ir habituando-se com o Papervision.</p>
<p>Dito isso, vamos dar continuidade à série.<br />
Dessa vez incorporando mais objetos nativos e utilizando imagens como material.</p>
<p><a target="_blank" href="http://webcorp.freehostia.com/blog_arquivos/Tutorial3/Tutorial3.html" title="Tutorial Papervision Great White BitmapFileMaterial"></a><a target="_blank" href="http://webcorp.freehostia.com/blog_arquivos/Tutorial3/Tutorial3.html" title="Tutorial Papervision Great White BitmapFileMaterial"></a><a target="_blank" href="http://webcorp.freehostia.com/blog_arquivos/Tutorial3/Tutorial3.html" title="Tutorial Papervision Great White - BitmapFileMaterial"><img src="http://webcorp.files.wordpress.com/2008/02/tutorial3_1.png" alt="Tutorial Papervision Great White - BitmapFileMaterial" /></a><br />
<span id="more-13"></span></p>
<p>Antes de mais nada <em>crie duas imagens</em> com 200&#215;200 pixels cada e <em>salve no mesmo diretório</em> dos arquivos as e fla com os nomes <em>imagem1.jpg</em> e <em>imagem2.jpg</em>.</p>
<p>Como no <a href="http://webcorp.wordpress.com/2008/02/18/papervision-tutorial-2-material/" title="Tutorial Papervision Great White ColorMaterial">artigo anterior</a>, vamos adicionar mais um objeto a cena. Dessa vez um cubo :</p>
<p><em>import org.papervision3d.objects.primitives.Cube;</em></p>
<p>Acrescentamos a classe BitmapFileMaterial responsável por carregar as imagens externas.<br />
Vamos aproveitar e acrescentar também a classe MaterialsList, que como o próprio nome diz cria uma lista de materiais.</p>
<p><em>import org.papervision3d.materials.BitmapFileMaterial;<br />
import org.papervision3d.materials.utils.MaterialsList;</em></p>
<p>Declaramos as variáveis :</p>
<p><em>public var materialTres:BitmapFileMaterial;<br />
public var materialQuatro:BitmapFileMaterial;<br />
public var listaMaterial:MaterialsList;</em></p>
<p>Criamos os materiais :</p>
<p><em>materialTres = new BitmapFileMaterial(&#8220;imagem1.jpg&#8221;);<br />
materialTres.smooth = true;// ameniza a aplicação do material nas faces triangulares do objeto</em></p>
<p><em>materialQuatro = new BitmapFileMaterial(&#8220;imagem2.jpg&#8221;);<br />
materialQuatro.smooth = false;</em></p>
<p><em>// criamos uma lista de materiais<br />
listaMaterial = new MaterialsList();<br />
// onde podemos inclusive instanciar o material<br />
listaMaterial.addMaterial (materialTres, &#8220;material3&#8243;);</em></p>
<p>Criamos o objeto cubo, aplicando os materiais :</p>
<p><em>cubo = new Cube(new MaterialsList( {<br />
front: listaMaterial.getMaterialByName(&#8220;material3&#8243;), // usamos a instância vinda da lista de materiais<br />
back: materialTres, // ou o próprio material<br />
left: materialQuatro,<br />
right: materialQuatro,<br />
top: materialUm,<br />
bottom: materialDois<br />
} ), 200, 200, 200, 1, 1, 1);<br />
cubo.y = 100;<br />
cubo.rotationX = 35;<br />
cubo.rotationY = 15;<br />
cubo.rotationZ = 45;<br />
cena.addChild (cubo);</em></p>
<p>O código agora ficou assim :</p>
<p><em>package {<br />
// Importamos as classes necessárias<br />
// Flash AS3<br />
import flash.display.Sprite;<br />
import flash.events.Event;<br />
// Papervision<br />
import org.papervision3d.scenes.Scene3D;<br />
import org.papervision3d.view.Viewport3D;<br />
import org.papervision3d.cameras.FreeCamera3D;<br />
import org.papervision3d.render.BasicRenderEngine;<br />
// objeto<br />
import org.papervision3d.objects.primitives.Sphere;<br />
import org.papervision3d.objects.primitives.Plane;<br />
import org.papervision3d.objects.primitives.Cube;<br />
// materiais<br />
import org.papervision3d.materials.ColorMaterial;<br />
import org.papervision3d.materials.BitmapFileMaterial;<br />
import org.papervision3d.materials.utils.MaterialsList;</em></p>
<p><em>// Declaramos nossa classe<br />
public class Tutorial3 extends Sprite {<br />
// e as variáveis<br />
public var cena:Scene3D;<br />
public var viewport:Viewport3D;<br />
public var camera:FreeCamera3D;<br />
public var renderer:BasicRenderEngine;<br />
public var esfera:Sphere;<br />
public var plano:Plane;<br />
public var cubo:Cube;<br />
public var materialUm:ColorMaterial;<br />
public var materialDois:ColorMaterial;<br />
public var materialTres:BitmapFileMaterial;<br />
public var materialQuatro:BitmapFileMaterial;<br />
public var listaMaterial:MaterialsList;</em></p>
<p><em>// Declaramos o método da classe<br />
public function Tutorial3 () {<br />
// que irá acionar as funções auxiliares<br />
Set ();<br />
Materiais ();<br />
Objetos ();<br />
Listeners ();<br />
}</em></p>
<p><em>// funções básicas do Papervision<br />
public function Set ():void {<br />
cena = new Scene3D ;<br />
viewport = new Viewport3D(stage.stageWidth,stage.stageHeight,true,false,true,true);<br />
addChild (viewport);<br />
camera = new FreeCamera3D ;<br />
renderer = new BasicRenderEngine ;<br />
}</em></p>
<p><em>// materiais<br />
public function Materiais ():void {<br />
materialUm = new ColorMaterial(0XFF0000,1);</em></p>
<p><em>materialDois = new ColorMaterial(0X00FF00,1);<br />
materialDois.doubleSided = true;// aplica o material nas duas faces do plano ( experimente trocar por false )</em></p>
<p><em>materialTres = new BitmapFileMaterial(&#8220;imagem1.jpg&#8221;);<br />
materialTres.smooth = true;// ameniza a aplicação do material nas faces triangulares do objeto</em></p>
<p><em>materialQuatro = new BitmapFileMaterial(&#8220;imagem2.jpg&#8221;);<br />
materialQuatro.smooth = false;</em></p>
<p><em>// criamos uma lista de materiais<br />
listaMaterial = new MaterialsList();<br />
// onde podemos inclusive instanciar o material<br />
listaMaterial.addMaterial (materialTres, &#8220;material3&#8243;);<br />
}</em></p>
<p><em>// função que irá criar o objeto<br />
public function Objetos ():void {<br />
esfera = new Sphere(materialUm,100,18,18);<br />
esfera.x -= stage.stageWidth &#8211; 100;<br />
esfera.y = 0;<br />
esfera.z = 0;<br />
esfera.rotationX = 15;<br />
esfera.rotationY = 25;<br />
esfera.rotationZ = -75;<br />
cena.addChild (esfera);</em></p>
<p><em>plano = new Plane(materialDois,200,200,0,0);<br />
plano.x += stage.stageWidth &#8211; 200;<br />
plano.y = 0;<br />
plano.z = 0;<br />
plano.rotationX = 35;<br />
plano.rotationY = 15;<br />
plano.rotationZ = 45;<br />
cena.addChild (plano);</em></p>
<p><em>cubo = new Cube(new MaterialsList( {<br />
front: listaMaterial.getMaterialByName(&#8220;material3&#8243;), // usamos a instância vinda da lista de materiais<br />
back: materialTres, // ou o próprio material<br />
left: materialQuatro,<br />
right: materialQuatro,<br />
top: materialUm,<br />
bottom: materialDois<br />
} ), 200, 200, 200, 1, 1, 1);<br />
cubo.y = 100;<br />
cubo.rotationX = 35;<br />
cubo.rotationY = 15;<br />
cubo.rotationZ = 45;<br />
cena.addChild (cubo);</em></p>
<p><em>camera.focus = 300;<br />
camera.zoom = 2;<br />
}</em></p>
<p><em>// função que irá receber novas funções auxiliares<br />
public function Listeners ():void {<br />
addEventListener (Event.ENTER_FRAME,Render);<br />
}</em></p>
<p><em>// função responsável pela renderização do Papervision<br />
public function Render (e:Event):void {<br />
esfera.rotationX -= 2;</em></p>
<p><em>plano.rotationX += 1;<br />
plano.rotationY += 2;</em></p>
<p><em>cubo.rotationX += 3;<br />
cubo.rotationY += 1;</em></p>
<p><em>renderer.renderScene (cena,camera,viewport);<br />
}<br />
}<br />
}</em></p>
<p>Salve o arquivo e compile novamente o swf.<br />
E, como sempre, vá fazendo alterações nos parâmetros, salve, recompile e veja as alterações.</p>
<p>Até a próxima …</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/webcorp.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/webcorp.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/webcorp.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/webcorp.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/webcorp.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/webcorp.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/webcorp.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/webcorp.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/webcorp.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/webcorp.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/webcorp.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/webcorp.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=13&subd=webcorp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://webcorp.wordpress.com/2008/02/19/papervision-tutorial-3-material-bitmap/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/625b61ee22f35649b6a0d7792292efe2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">webcorp</media:title>
		</media:content>

		<media:content url="http://webcorp.files.wordpress.com/2008/02/tutorial3_1.png" medium="image">
			<media:title type="html">Tutorial Papervision Great White - BitmapFileMaterial</media:title>
		</media:content>
	</item>
		<item>
		<title>Papervision &#8211; Tutorial 2 ( Material )</title>
		<link>http://webcorp.wordpress.com/2008/02/18/papervision-tutorial-2-material/</link>
		<comments>http://webcorp.wordpress.com/2008/02/18/papervision-tutorial-2-material/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 02:43:56 +0000</pubDate>
		<dc:creator>Marco Molina</dc:creator>
				<category><![CDATA[Actionscript 3 AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Papervision]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Material]]></category>

		<guid isPermaLink="false">http://webcorp.wordpress.com/?p=12</guid>
		<description><![CDATA[Dando continuidade, dessa vez veremos como aplicar materiais em objetos primitivos utilizando a classe ColorMaterial.
Vamos continuar utilizando os mesmos arquivos Tutorial1.as e Tutorial1.fla do artigo anterior.


Vamos aproveitar para adicionar outro objeto a cena :
import org.papervision3d.objects.primitives.Plane;
E basicamente acrescentar as classes necessárias :
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.utils.MaterialsList;
Declaramos as variáveis :
public var plano:Plane;
public var materialUm:ColorMaterial;
public var materialDois:ColorMaterial;
Atenção aqui : você [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=12&subd=webcorp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Dando continuidade, dessa vez veremos como aplicar materiais em objetos primitivos utilizando a classe <em>ColorMaterial.</em></p>
<p>Vamos continuar utilizando os mesmos arquivos <em>Tutorial1.as</em> e <em>Tutorial1.fla</em> do <a href="http://webcorp.wordpress.com/2008/02/17/papervision-tutorial-1/" title="Papervision Great White Tutorial">artigo anterior</a>.</p>
<p><a target="_blank" href="http://webcorp.freehostia.com/blog_arquivos/Tutorial2/Tutorial2.html" title="Papervision Great White Tutorial Material"><img src="http://webcorp.files.wordpress.com/2008/02/tutorial2_1.png" alt="Papervision Tutorial 2 - Materiais" /></a></p>
<p><span id="more-12"></span><br />
Vamos aproveitar para adicionar outro objeto a cena :</p>
<blockquote><p>import org.papervision3d.objects.primitives.Plane;</p></blockquote>
<p>E basicamente acrescentar as classes necessárias :</p>
<blockquote><p>import org.papervision3d.materials.ColorMaterial;<br />
import org.papervision3d.materials.utils.MaterialsList;</p></blockquote>
<p>Declaramos as variáveis :</p>
<blockquote><p>public var plano:Plane;<br />
public var materialUm:ColorMaterial;<br />
public var materialDois:ColorMaterial;</p></blockquote>
<p><em>Atenção aqui</em> : você precisa acionar a função de materiais antes de chamar os objetos</p>
<blockquote><p>public function Tutorial1 () {<br />
Set ();<br />
Materiais ();<br />
Objetos ();<br />
Listeners ();<br />
}</p></blockquote>
<p>Criamos os materiais :</p>
<blockquote><p>public function Materiais ():void {<br />
materialUm = new ColorMaterial(0XFF0000, 1);</p>
<p>materialDois = new ColorMaterial(0X00FF00, 1);<br />
materialDois.doubleSided=true;// aplica o material nas duas faces do plano ( experimente trocar por false )<br />
}</p></blockquote>
<p>E aplicamos os materiais nos objetos :</p>
<blockquote><p>public function Objetos ():void {<br />
esfera = new Sphere(materialUm, 100, 18, 18);<br />
esfera.x -= stage.stageWidth/2;<br />
esfera.y=0;<br />
esfera.z=0;<br />
esfera.rotationX = 15;<br />
esfera.rotationY = 25;<br />
esfera.rotationZ = -75;<br />
cena.addChild (esfera);</p>
<p>plano = new Plane(materialDois, 200, 200, 0, 0);<br />
plano.x += stage.stageWidth/2;<br />
plano.y=0;<br />
plano.z=0;<br />
plano.rotationX = 35;<br />
plano.rotationY = 15;<br />
plano.rotationZ = 45;<br />
cena.addChild (plano);<br />
}</p></blockquote>
<p>Temos então o código completo :</p>
<blockquote><p>package {<br />
// Importamos as classes necessárias<br />
// Flash AS3<br />
import flash.display.Sprite;<br />
import flash.events.Event;<br />
// Papervision<br />
import org.papervision3d.scenes.Scene3D;<br />
import org.papervision3d.view.Viewport3D;<br />
import org.papervision3d.cameras.FreeCamera3D;<br />
import org.papervision3d.render.BasicRenderEngine;<br />
// objeto<br />
import org.papervision3d.objects.primitives.Sphere;<br />
import org.papervision3d.objects.primitives.Plane;<br />
// materiais<br />
import org.papervision3d.materials.ColorMaterial;<br />
import org.papervision3d.materials.utils.MaterialsList;</p>
<p>// Declaramos nossa classe<br />
public class Tutorial1 extends Sprite {<br />
// e as variáveis<br />
public var cena:Scene3D;<br />
public var viewport:Viewport3D;<br />
public var camera:FreeCamera3D;<br />
public var renderer:BasicRenderEngine;<br />
public var esfera:Sphere;<br />
public var plano:Plane;<br />
public var materialUm:ColorMaterial;<br />
public var materialDois:ColorMaterial;</p>
<p>// Declaramos o método da classe<br />
public function Tutorial1 () {<br />
// que irá acionar as funções auxiliares<br />
Set ();<br />
Materiais ();<br />
Objetos ();<br />
Listeners ();<br />
}</p>
<p>// funções básicas do Papervision<br />
public function Set ():void {<br />
cena = new Scene3D();<br />
viewport = new Viewport3D(stage.stageWidth, stage.stageHeight, true, false, true, true);<br />
addChild (viewport);<br />
camera = new FreeCamera3D();<br />
renderer = new BasicRenderEngine();<br />
}</p>
<p>// materiais<br />
public function Materiais ():void {<br />
materialUm = new ColorMaterial(0XFF0000, 1);</p>
<p>materialDois = new ColorMaterial(0X00FF00, 1);<br />
materialDois.doubleSided=true;// aplica o material nas duas faces do plano ( experimente trocar por false )<br />
}</p>
<p>// função que irá criar o objeto<br />
public function Objetos ():void {<br />
esfera = new Sphere(materialUm, 100, 18, 18);<br />
esfera.x -= stage.stageWidth/2;<br />
esfera.y=0;<br />
esfera.z=0;<br />
esfera.rotationX = 15;<br />
esfera.rotationY = 25;<br />
esfera.rotationZ = -75;<br />
cena.addChild (esfera);</p>
<p>plano = new Plane(materialDois, 200, 200, 0, 0);<br />
plano.x += stage.stageWidth/2;<br />
plano.y=0;<br />
plano.z=0;<br />
plano.rotationX = 35;<br />
plano.rotationY = 15;<br />
plano.rotationZ = 45;<br />
cena.addChild (plano);</p>
<p>// alterando alguns parâmetros na câmera<br />
camera.focus = 300;<br />
camera.zoom = 2;<br />
}</p>
<p>// função que irá receber novas funções auxiliares<br />
public function Listeners ():void {<br />
addEventListener (Event.ENTER_FRAME, Render);<br />
}</p>
<p>// função responsável pela renderização do Papervision<br />
public function Render (e:Event):void {<br />
// algumas propriedades básicas de movimento de objetos<br />
esfera.rotationX -= 2;</p>
<p>plano.rotationX += 1;<br />
plano.rotationY += 2;</p>
<p>renderer.renderScene (cena, camera, viewport);<br />
}<br />
}<br />
}</p></blockquote>
<p>Salve o arquivo <em>Tutorial1.as</em> e compile o swf.<br />
Faça alterações nos parâmetros e veja as alterações.</p>
<p>Até a próxima &#8230;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/webcorp.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/webcorp.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/webcorp.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/webcorp.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/webcorp.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/webcorp.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/webcorp.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/webcorp.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/webcorp.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/webcorp.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/webcorp.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/webcorp.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=12&subd=webcorp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://webcorp.wordpress.com/2008/02/18/papervision-tutorial-2-material/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/625b61ee22f35649b6a0d7792292efe2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">webcorp</media:title>
		</media:content>

		<media:content url="http://webcorp.files.wordpress.com/2008/02/tutorial2_1.png" medium="image">
			<media:title type="html">Papervision Tutorial 2 - Materiais</media:title>
		</media:content>
	</item>
		<item>
		<title>Papervision &#8211; Tutorial 1</title>
		<link>http://webcorp.wordpress.com/2008/02/17/papervision-tutorial-1/</link>
		<comments>http://webcorp.wordpress.com/2008/02/17/papervision-tutorial-1/#comments</comments>
		<pubDate>Sun, 17 Feb 2008 07:37:26 +0000</pubDate>
		<dc:creator>Marco Molina</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Actionscript 3 AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Papervision]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[documentação]]></category>

		<guid isPermaLink="false">http://webcorp.wordpress.com/?p=9</guid>
		<description><![CDATA[Agora que você fez o download do Papervision e preparou o Flash para iniciar os seus projetos, vamos iniciar com uma classe básica de introdução ao Papervision 2.0 &#8211; Great White.

Crie um Actionscript file e salve-o como Tutorial1.as.
package {
// Importamos as classes necessárias
// AS3
import flash.display.Sprite;
import flash.events.Event;
// Papervision
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
import org.papervision3d.cameras.FreeCamera3D;
import org.papervision3d.render.BasicRenderEngine;
// objeto
import org.papervision3d.objects.primitives.Sphere;
//
// Declaramos nossa classe
public [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=9&subd=webcorp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://webcorp.wordpress.com/2008/02/16/papervision-sera-que-depois-da-web-20-chegou-a-vez-da-web-3d/">Agora que você fez o download do Papervision e preparou o Flash para iniciar os seus projetos</a>, vamos iniciar com uma classe básica de introdução ao Papervision 2.0 &#8211; Great White.</p>
<p><span id="more-9"></span></p>
<p>Crie um <em>Actionscript file</em> e salve-o como <em>Tutorial1.as.</em></p>
<p><code>package {<br />
// Importamos as classes necessárias<br />
// AS3<br />
import flash.display.Sprite;<br />
import flash.events.Event;<br />
// Papervision<br />
import org.papervision3d.scenes.Scene3D;<br />
import org.papervision3d.view.Viewport3D;<br />
import org.papervision3d.cameras.FreeCamera3D;<br />
import org.papervision3d.render.BasicRenderEngine;<br />
// objeto<br />
import org.papervision3d.objects.primitives.Sphere;<br />
//<br />
// Declaramos nossa classe<br />
public class Tutorial1 extends Sprite {<br />
// e as variáveis<br />
public var cena:Scene3D;<br />
public var viewport:Viewport3D;<br />
public var camera:FreeCamera3D;<br />
public var renderer:BasicRenderEngine;<br />
public var objeto:Sphere;<br />
//<br />
// Declaramos a função da classe<br />
public function Tutorial1 () {<br />
// que irá acionar as funções auxiliares<br />
Set ();<br />
Objetos ();<br />
Listeners ();<br />
}<br />
//<br />
// funções básicas do Papervision<br />
public function Set ():void {<br />
cena = new Scene3D();<br />
viewport = new Viewport3D(stage.stageWidth, stage.stageHeight, true, false, true, true);<br />
addChild (viewport);<br />
camera = new FreeCamera3D();<br />
renderer = new BasicRenderEngine();<br />
}<br />
//<br />
// função que irá criar o objeto<br />
public function Objetos ():void {<br />
objeto = new Sphere(null, 100, 8, 6, null);<br />
cena.addChild (objeto);<br />
//<br />
//objeto.x=50;<br />
//objeto.y=-50;<br />
//objeto.z=-500;<br />
//objeto.rotationX = 15;<br />
//objeto.rotationY = 25;<br />
//objeto.rotationZ = -75;<br />
//camera.x=10;<br />
//camera.y=60;<br />
//camera.z=-2200;<br />
//camera.zoom=2;<br />
//camera.focus=400;<br />
//<br />
// Antes de descomentar as linhas acima, veja as propriedades padrão no trace<br />
// Depois descomente e modifique os valores para ver as alterações<br />
trace ('viewport.viewportWidth: '+viewport.viewportWidth+' viewport.viewportHeight: '+viewport.viewportHeight);<br />
trace ('objeto x: '+objeto.x+'\nobjeto y: '+objeto.y+'\nobjeto z: '+objeto.z);<br />
trace ('camera x: '+camera.x+'\ncamera y: '+camera.y+'\ncamera z: '+camera.z+'\ncamera zoom: '+camera.zoom+'\ncamera focus: '+camera.focus);<br />
}<br />
//<br />
// função que irá receber novas funções auxiliares<br />
public function Listeners ():void {<br />
addEventListener (Event.ENTER_FRAME, Render);<br />
}<br />
//<br />
// função responsável pela renderização do Papervision<br />
public function Render (e:Event):void {<br />
// objeto.rotationY += 2;<br />
// camera.rotationY += 2;<br />
renderer.renderScene (cena, camera, viewport);<br />
}<br />
}<br />
}</code></p>
<p>Copie e cole o código acima e salve-o.</p>
<p>Agora crie um novo arquivo <em>Flash File ( ActionScript 3.0 )</em> e salve-o no mesmo diretório do arquivo <em>Tutorial1.as</em>.<br />
Vá em <em>File&gt;Publish Settings&gt;Flash (aba)</em> e clique no botão <em>Settings</em>.<br />
Em <em>Document class</em>, digite o nome da classe <em>Tutorial1</em>.<br />
Se você não determinou o caminho para a classe nas preferências globais do Flash, você deve setar o caminho em <em>Classpath</em>.</p>
<p>Salve o arquivo e compile.</p>
<p>Descomente as linhas no arquivo <em>Tutorial1.as</em>, faça testes alterando os valores, salve o arquivo e recompile.</p>
<p>Para compreender a fundo os parâmetros de cada propriedade, dê uma olhada na <a target="_blank" href="http://www.paultondeur.com/files/papervision3d/documentation/Public_Alpha_2.0/" title="Papervision 2.0 Great White Documentação">documentação do Papervision 2.0 &#8211; Great White</a>.</p>
<p>Por enquanto é isso. Aos poucos vamos incluir materiais, interações, etc &#8230;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/webcorp.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/webcorp.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/webcorp.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/webcorp.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/webcorp.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/webcorp.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/webcorp.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/webcorp.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/webcorp.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/webcorp.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/webcorp.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/webcorp.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=9&subd=webcorp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://webcorp.wordpress.com/2008/02/17/papervision-tutorial-1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/625b61ee22f35649b6a0d7792292efe2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">webcorp</media:title>
		</media:content>
	</item>
	</channel>
</rss>