<?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></title>
	<atom:link href="http://hamistertower.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://hamistertower.wordpress.com</link>
	<description></description>
	<lastBuildDate>Wed, 09 Jun 2010 14:43:17 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hamistertower.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title></title>
		<link>http://hamistertower.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hamistertower.wordpress.com/osd.xml" title="" />
	<atom:link rel='hub' href='http://hamistertower.wordpress.com/?pushpress=hub'/>
		<item>
		<title>MUDAMOS DE ENDEREÇO</title>
		<link>http://hamistertower.wordpress.com/2010/06/09/mudamos-de-endereco/</link>
		<comments>http://hamistertower.wordpress.com/2010/06/09/mudamos-de-endereco/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 14:18:55 +0000</pubDate>
		<dc:creator>Setzer Wolf</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[away3d]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Jogos em Flash]]></category>
		<category><![CDATA[mario card]]></category>
		<category><![CDATA[papervision]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[sprite]]></category>
		<category><![CDATA[Tile System]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://hamistertower.wordpress.com/?p=601</guid>
		<description><![CDATA[olá pessoal, mudei de endereço e aguardo sua visita: http://HamisterTower.com.br Novidades: Nessa nova fase do blog  continuaremos com o foco em no flash e jogos a novidade é que também abordaremos assuntos como: Flex, Air, outras engines (Away3d, Sandy, Alternativa3d, Box2d,Jiblib), Realidade Aumentada, Componentes especifico para jogos e alguns de meus projetos pessoais entre outras coisas. Não [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=601&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>olá pessoal, mudei de endereço e aguardo sua visita:</p>
<h4><a href="http://hamistertower.com.br" target="_self"><span style="color:#000080;">http://HamisterTower.com.br</span></a></h4>
<p><strong>Novidades:</strong></p>
<p>Nessa nova fase do blog  continuaremos com o foco em no flash e jogos a novidade é que também abordaremos assuntos como: Flex, Air, outras engines (Away3d, Sandy, Alternativa3d, Box2d,Jiblib), Realidade Aumentada, Componentes especifico para jogos e alguns de meus projetos pessoais entre outras coisas.</p>
<p>Não deixem de acompanhar o blog, lembrando que estamos em outro endereço: <a href="http://HamisterTower.com.br" target="_self">http://HamisterTower.com.br</a> espero a visita de vocês lá, vlw Abraços.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hamistertower.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hamistertower.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hamistertower.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hamistertower.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hamistertower.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hamistertower.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hamistertower.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hamistertower.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hamistertower.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hamistertower.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hamistertower.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hamistertower.wordpress.com/601/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hamistertower.wordpress.com/601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hamistertower.wordpress.com/601/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=601&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hamistertower.wordpress.com/2010/06/09/mudamos-de-endereco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d2e1b25da9105d36b5ebcf0e1bd43c8a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Setzer Wolf</media:title>
		</media:content>
	</item>
		<item>
		<title>PAPERVISION Menu Over</title>
		<link>http://hamistertower.wordpress.com/2009/08/31/papervision-menu-over/</link>
		<comments>http://hamistertower.wordpress.com/2009/08/31/papervision-menu-over/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 18:20:46 +0000</pubDate>
		<dc:creator>Setzer Wolf</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[papervision]]></category>
		<category><![CDATA[pv3d]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[InteractiveScene3DEvent]]></category>
		<category><![CDATA[moviematerial]]></category>

		<guid isPermaLink="false">http://hamistertower.wordpress.com/?p=593</guid>
		<description><![CDATA[clique na imagem para poder visualizar Olá Pessoal, Para nosso tutorial de hoje, preparei exemplo muito simples, utilização do mouse ma interação de um objeto primitivo do papervision, assim poderemos possamos montar um menu num futuro. Ao se trabalhar com Orientação a Objetos devemos sempre estar atendendo a instância do objeto, ao utilizar o papervision, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=593&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><a href="http://setzerwolf.deviantart.com/art/PAPERVISION-Menu-Over-135425747"><img class="alignnone size-full wp-image-592" title="ppvmenu" src="http://hamistertower.files.wordpress.com/2009/08/ppvmenu.jpg?w=300&#038;h=300" alt="ppvmenu" width="300" height="300" /></a></p>
<address><a href="http://setzerwolf.deviantart.com/art/PAPERVISION-Menu-Over-135425747"></a>clique na imagem para poder visualizar</address>
<p>Olá Pessoal, Para nosso tutorial de hoje, preparei exemplo muito simples, utilização do mouse ma interação de um objeto primitivo do papervision, assim poderemos possamos montar um menu num futuro.</p>
<p>Ao se trabalhar com Orientação a Objetos devemos sempre estar atendendo a instância do objeto, ao utilizar o papervision, para alterar algumas propriedades de um simples material instanciado para um plane devemos alterar o movieclip no qual o nosso material recebe de instancia.</p>
<pre style="font-size:12px;">movie = <span style="color:#99cc00;">new </span><span style="color:#0000ff;">MovieClip</span>();
material = <span style="color:#99cc00;">new </span>MovieMaterial(movie,<span style="color:#0000ff;">true</span>,<span style="color:#0000ff;">true</span>);</pre>
<p>Seguindo a lógica, o nosso material armazena a instancia de &#8220;movie&#8221; ou seja, se alterarmos o alpha ou o posicionamento do frame de nosso movie o nosso material sofrerá a mesma alteração.</p>
<p>Em nosso exemplo teremos um movieclip aonde a propriedade linkage dele será &#8220;MovieButton&#8221;.</p>
<p>Iniciaremos nosso plane com as rotações em 25 e alpha 0.8, e em nosso enterframe colocaremos o nosso plane para ficar rotacionando para exemplificar melhor que aquele plane é um objeto do papervision. Ao passar o mouse em nosso plane, alteraremos o alpha para 1, reposicionaremos as rotações em 0 e bloquearemos o enterframe. Vamos para o código completo.</p>
<pre style="font-size:12px;"><span style="color:#99cc00;">package
</span>{
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.display.MovieClip</span>;
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.events.Event</span>;
    <span style="color:#99cc00;">import</span> org.papervision3d.materials.MovieMaterial;
    <span style="color:#99cc00;">import </span>org.papervision3d.objects.primitives.Plane;
    <span style="color:#99cc00;">import </span>org.papervision3d.events.InteractiveScene3DEvent;
    <span style="color:#99cc00;">import </span>org.papervision3d.view.BasicView;

    <span style="color:#99cc00;">public class </span>Menu <span style="color:#99cc00;">extends </span>BasicView
    {
        <span style="color:#99cc00;">private var</span> mov1:<span style="color:#0000ff;">MovieClip</span>;
        <span style="color:#99cc00;">private var</span> mat1:MovieMaterial;
       <span style="color:#99cc00;"> private var</span> plane1:Plane;
        <span style="color:#99cc00;">private var</span> MOVE:<span style="color:#0000ff;">Boolean</span> = <span style="color:#0000ff;">true</span>;

        <span style="color:#99cc00;">public function</span> Menu()
        {
            viewport.<span style="color:#0000ff;">buttonMode </span>= <span style="color:#0000ff;">true</span>;
            viewport.<span style="color:#0000ff;">interactive </span>= <span style="color:#0000ff;">true</span>;

            camera.<span style="color:#0000ff;">zoom </span>= 5;
            camera.<span style="color:#0000ff;">focus </span>= 200;

            mov1 = <span style="color:#99cc00;">new </span>MovieButton();
            mat1 = <span style="color:#99cc00;">new </span>MovieMaterial(mov1, <span style="color:#0000ff;">true</span>, <span style="color:#0000ff;">true</span>)

            mat1.<span style="color:#0000ff;">interactive </span>= <span style="color:#0000ff;">true</span>;
            mat1.<span style="color:#0000ff;">smooth </span>= <span style="color:#0000ff;">true</span>;
            mat1.<span style="color:#0000ff;">doubleSided </span>= <span style="color:#0000ff;">true</span>;

            plane1 = <span style="color:#99cc00;">new</span> Plane(mat1, 130, 100)
            scene.<span style="color:#0000ff;">addChild</span>(plane1);
            plane1.rotationY = 25;
            plane1.rotationZ = 25;
            plane1.rotationX = 25;

            plane1.<span style="color:#0000ff;">addEventListener</span>(InteractiveScene3DEvent.OBJECT_OVER, _mouseOver);
            plane1.<span style="color:#0000ff;">addEventListener</span>(InteractiveScene3DEvent.OBJECT_OUT, _mouseOut);
            startRendering();
            mov1.<span style="color:#0000ff;">alpha</span> = 0.8;
            <span style="color:#0000ff;">addEventListener</span>(<span style="color:#0000ff;">Event.ENTER_FRAME</span>, _loop);

        }
        <span style="color:#99cc00;">public function</span> _loop(<span style="color:#0000ff;">e:Event</span>) {
            <span style="color:#99cc00;">if </span>(MOVE){
                plane1.yaw(3);
                plane1.roll(3);
                plane1.pitch(3);
            }
        }
        <span style="color:#99cc00;">public function</span> _mouseOver(e:InteractiveScene3DEvent):<span style="color:#99cc00;">void
        </span>{
            MOVE = <span style="color:#0000ff;">false</span>;
            mov1.<span style="color:#0000ff;">alpha </span>= 1;
            e.<span style="color:#0000ff;">target</span>.rotationY = 0;
            e.<span style="color:#0000ff;">target</span>.rotationZ = 0;
            e.<span style="color:#0000ff;">target</span>.rotationX = 0;

        }
        <span style="color:#99cc00;">public function</span> _mouseOut(e:InteractiveScene3DEvent):<span style="color:#99cc00;">void</span>
        {
            MOVE = <span style="color:#0000ff;">true</span>;
            mov1.<span style="color:#0000ff;">alpha </span>= 0.8;
        }

    }

}</pre>
<p>Para dar um toque interessante ao seu menu aconselho a usar transições de tweeners, caurina, green sock ou ate mesmo o tweener do flash. Agora que eu já lhe mostrei a escada só falta vocês subirem ^^ até aproxima.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hamistertower.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hamistertower.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hamistertower.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hamistertower.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hamistertower.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hamistertower.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hamistertower.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hamistertower.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hamistertower.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hamistertower.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hamistertower.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hamistertower.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hamistertower.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hamistertower.wordpress.com/593/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=593&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hamistertower.wordpress.com/2009/08/31/papervision-menu-over/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d2e1b25da9105d36b5ebcf0e1bd43c8a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Setzer Wolf</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/08/ppvmenu.jpg" medium="image">
			<media:title type="html">ppvmenu</media:title>
		</media:content>
	</item>
		<item>
		<title>Papervision ReplaceMaterialByName</title>
		<link>http://hamistertower.wordpress.com/2009/08/11/papervision-replacematerialbyname/</link>
		<comments>http://hamistertower.wordpress.com/2009/08/11/papervision-replacematerialbyname/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 13:19:19 +0000</pubDate>
		<dc:creator>Setzer Wolf</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[papervision]]></category>
		<category><![CDATA[pv3d]]></category>
		<category><![CDATA[repalcematerialbyname]]></category>
		<category><![CDATA[changematerial]]></category>

		<guid isPermaLink="false">http://hamistertower.wordpress.com/?p=587</guid>
		<description><![CDATA[Clique na imagem para visualizar Olá pessoal, Muitos de vocês já se perguntaram como trocar o material de um objeto sua durante sua execução, o material de um plane, cylinder ou até mesmo a face de um cubo. Pois bem para fazermos esta mágica utilizamos o método replaceMaterialByName. Este método consiste em substituir a instância [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=587&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><a href="http://setzerwolf.deviantart.com/art/Papervision-ReplaceMaterial-132951615"><img class="size-full wp-image-586 aligncenter" title="ReplaceMaterialByName" src="http://hamistertower.files.wordpress.com/2009/08/replacebyname.jpg?w=300&#038;h=300" alt="ReplaceMaterialByName" width="300" height="300" /></a></p>
<address>Clique na imagem para visualizar</address>
<p>Olá pessoal, Muitos de vocês já se perguntaram como trocar o material de um objeto sua durante sua execução, o material de um plane, cylinder ou até mesmo a face de um cubo. Pois bem para fazermos esta mágica utilizamos o método replaceMaterialByName.</p>
<p>Este método consiste em substituir a instância de material que possui o nome indicado.</p>
<pre style="font-size:12px;">objeto.<span style="color:#0000ff;">replaceMaterialbyName</span>(material:<span style="color:#0000ff;">Material</span>,name:<span style="color:#0000ff;">String</span>);</pre>
<p>Uma das divergências deste método é que o nome deste método deveria se chamar replaceMaterialByInstancia. Para vocês entenderem melhor este problema vou descrever um exemplo com um cubo.</p>
<pre style="font-size:12px;">    blue  = <span style="color:#99cc00;">new </span>ColorMaterial(0x0000FF);
    red   = <span style="color:#99cc00;">new </span>ColorMaterial(0xFF0000);
    lista = <span style="color:#99cc00;">new </span>MaterialsList()

    lista.addMaterial(blue, 'front');
    lista.addMaterial(blue, 'back');
    lista.addMaterial(blue, 'top');
    lista.addMaterial(blue, 'bottom');
    lista.addMaterial(blue, 'left');
    lista.addMaterial(blue, 'right');
    cube = <span style="color:#99cc00;">new </span>Cube(lista,100,100,100);
    cubo.replaceMaterialByName(red, 'right');</pre>
<p>Teoricamente este código deveria criar um cubo com todas as faces<span style="color:#008000;"> &#8216;Azul&#8217;</span> e ao final ele colocaria a face da direita com a cor<span style="color:#008000;"> &#8216;Vermelho&#8217;.</span> Porém ele no final deixa todas as faces <span style="color:#008000;">&#8216;vermelho&#8217;</span>, pois a instancia de material do lado direito<span style="color:#008000;"> &#8216;right&#8217;</span> é igual a instancia de material utilizado para as outras faces. Para que não aconteça isso é recomendado que cada face tenha sua própria instancia. Agora vamos ao código de nosso tutorial.</p>
<p><span style="color:#0000ff;"><strong>Tutorial replaceMaterialbyName</strong></span></p>
<p style="line-height:14.25pt;"><span style="font-size:10pt;font-family:Georgia;color:black;">Neste tutorial decidi brincar um pouco mais. Vamos utilizar um pouco de ReflectionView e o componente ColorPicker (componente do próprio Flash)</span></p>
<p style="line-height:14.25pt;"><span style="font-size:10pt;font-family:Georgia;color:black;">Criaremos 3 ColorPicker que será responsável por 2 lados diferentes do cubo e um botão para resetar para o estado utilizando os MovieMaterial.</span></p>
<p><strong><span style="color:#0000ff;">Logica:</span></strong></p>
<pre style="font-size:12px;"><span style="color:#99cc00;">package</span>
{
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">fl.controls.ColorPicker</span>;
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">fl.events.ColorPickerEvent;</span>
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.display.SimpleButton;</span>
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.display.Sprite;</span>
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.events.Event;</span>
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.events.MouseEvent;</span>
    <span style="color:#99cc00;">import </span>org.papervision3d.<span style="color:#0000ff;">core</span>.effects.view.ReflectionView;
    <span style="color:#99cc00;">import </span>org.papervision3d.materials.ColorMaterial;
    <span style="color:#99cc00;">import </span>org.papervision3d.materials.MovieAssetMaterial;
    <span style="color:#99cc00;">import </span>org.papervision3d.materials.<span style="color:#0000ff;">utils</span>.MaterialsList;
    <span style="color:#99cc00;">import </span>org.papervision3d.objects.primitives.Cube;

    <span style="color:#99cc00;">public class</span> ppv_changeMaterial <span style="color:#99cc00;">extends </span>ReflectionView
    {
       <span style="color:#99cc00;"> public var</span> matsmile:MovieAssetMaterial;
        <span style="color:#99cc00;">public var</span> matface:MovieAssetMaterial;
        <span style="color:#99cc00;">public var</span> matLeftRight:MovieAssetMaterial;
        <span style="color:#99cc00;">public var</span> cubo:Cube;
        <span style="color:#99cc00;">public var</span> lista:MaterialsList;
        <span style="color:#99cc00;">public </span><span style="color:#99cc00;">var </span>color1:<span style="color:#0000ff;">ColorPicker</span>;
        <span style="color:#99cc00;">public </span><span style="color:#99cc00;">var </span>color2:<span style="color:#0000ff;">ColorPicker</span>;
        <span style="color:#99cc00;">public </span><span style="color:#99cc00;">var </span>color3:<span style="color:#0000ff;">ColorPicker</span>;
        <span style="color:#99cc00;">public </span><span style="color:#99cc00;">var </span>reset:<span style="color:#0000ff;">SimpleButton</span>;

        <span style="color:#99cc00;">public function</span> ppv_changeMaterial() {
            <span style="color:#0000ff;">setChildIndex</span>(viewportReflection, 1);
            viewportReflection.<span style="color:#0000ff;">alpha </span>= 0.8;

            matsmile  = <span style="color:#99cc00;">new </span>MovieAssetMaterial(<span style="color:#008000;">"smile"</span>);
            matface  = <span style="color:#99cc00;">new </span>MovieAssetMaterial(<span style="color:#008000;">"face"</span>);
            matLeftRight  = <span style="color:#99cc00;">new </span>MovieAssetMaterial(<span style="color:#008000;">"face"</span>);
            lista = <span style="color:#99cc00;">new </span>MaterialsList()

            lista.addMaterial(matface, <span style="color:#008000;">'front'</span>);
            lista.addMaterial(matsmile, <span style="color:#008000;">'back'</span>);
            lista.addMaterial(<span style="color:#99cc00;">new </span>ColorMaterial(0xF9EAAD), <span style="color:#008000;">'top'</span>);
            lista.addMaterial(<span style="color:#99cc00;">new </span>ColorMaterial(0x000000), 'bottom');
            lista.addMaterial(matLeftRight, <span style="color:#008000;">'left'</span>);
            lista.addMaterial(matLeftRight, <span style="color:#008000;">'right'</span>);

            cubo  = <span style="color:#99cc00;">new </span>Cube(lista, 200, 200, 250);
            scene.<span style="color:#0000ff;">addChild</span>(cubo);

            cubo.<span style="color:#0000ff;">y</span> = 150;

            color1 = <span style="color:#99cc00;">new </span><span style="color:#0000ff;">ColorPicker</span>();
            color1.<span style="color:#0000ff;">x</span> = 20;
            color1.<span style="color:#0000ff;">y</span> = 100;

            color2 = <span style="color:#99cc00;">new </span><span style="color:#0000ff;">ColorPicker</span>();
            color2.x = 20;
            color2.y = 140;

            color3 = <span style="color:#99cc00;">new </span>ColorPicker();
            color3.<span style="color:#0000ff;">x</span> = 20;
            color3.<span style="color:#0000ff;">y</span> = 180;

            reset = <span style="color:#99cc00;">new </span>Reset();
            reset.<span style="color:#0000ff;">x</span> = 20;
            reset.<span style="color:#0000ff;">y</span> = 220;
            <span style="color:#0000ff;">addChild</span>(reset);

            <span style="color:#0000ff;">addChild</span>(color1);
            <span style="color:#0000ff;">addChild</span>(color2);
            <span style="color:#0000ff;">addChild</span>(color3);

            color1.<span style="color:#0000ff;">addEventListener</span>(<span style="color:#0000ff;">ColorPickerEvent</span>.<span style="color:#0000ff;">CHANGE</span>, changeLeftRight);
            color2.<span style="color:#0000ff;">addEventListener</span>(<span style="color:#0000ff;">ColorPickerEvent.CHANGE</span>, changeTopBottom);
            color3.<span style="color:#0000ff;">addEventListener</span>(<span style="color:#0000ff;">ColorPickerEvent.CHANGE</span>, changeFrontBack);
            reset.<span style="color:#0000ff;">addEventListener</span>(<span style="color:#0000ff;">MouseEvent.CLICK</span>, clickReset);
            <span style="color:#0000ff;">addEventListener</span>(<span style="color:#0000ff;">Event.ENTER_FRAME</span>, onEnterFrame);
        }
        <span style="color:#99cc00;">private function</span> changeLeftRight(e:<span style="color:#0000ff;">ColorPickerEvent</span>) {
            cubo.replaceMaterialByName(<span style="color:#99cc00;">new </span>ColorMaterial(<span style="color:#0000ff;">e.target.selectedColor</span>), <span style="color:#008000;">'left'</span>);
            cubo.replaceMaterialByName(<span style="color:#99cc00;">new </span>ColorMaterial(<span style="color:#0000ff;">e.target.selectedColor</span>), <span style="color:#008000;">'right'</span>);
        }
        <span style="color:#99cc00;">private function</span> changeTopBottom(e:<span style="color:#0000ff;">ColorPickerEvent</span>) {
            cubo.replaceMaterialByName(<span style="color:#99cc00;">new </span>ColorMaterial(<span style="color:#0000ff;">e.target.selectedColor</span>), <span style="color:#008000;">'top'</span>);
            cubo.replaceMaterialByName(<span style="color:#99cc00;">new </span>ColorMaterial(<span style="color:#0000ff;">e.target.selectedColor</span>), <span style="color:#008000;">'bottom'</span>);
        }
        <span style="color:#99cc00;">private function</span> changeFrontBack(e:<span style="color:#0000ff;">ColorPickerEvent</span>) {
            cubo.replaceMaterialByName(<span style="color:#99cc00;">new </span>ColorMaterial(<span style="color:#0000ff;">e.target.selectedColor</span>), <span style="color:#008000;">'front'</span>);
            cubo.replaceMaterialByName(<span style="color:#99cc00;">new </span>ColorMaterial(<span style="color:#0000ff;">e.target.selectedColor</span>), <span style="color:#008000;">'back'</span>);
        }
        <span style="color:#99cc00;">public function</span> clickReset(e:<span style="color:#0000ff;">MouseEvent</span>):<span style="color:#99cc00;">void</span>
        {
            cubo.replaceMaterialByName(matface, <span style="color:#008000;">'front'</span>);
            cubo.replaceMaterialByName(matsmile, <span style="color:#008000;">'back'</span>);
            cubo.replaceMaterialByName(<span style="color:#99cc00;">new </span>ColorMaterial(0xF9EAAD), <span style="color:#008000;">'top'</span>);
            cubo.replaceMaterialByName(<span style="color:#99cc00;">new </span>ColorMaterial(0x000000), <span style="color:#008000;">'bottom'</span>);
            cubo.replaceMaterialByName(matface, <span style="color:#008000;">'left'</span>);
            cubo.replaceMaterialByName(matface, <span style="color:#008000;">'right'</span>);

        }

        <span style="color:#99cc00;">private function</span> onEnterFrame(e:<span style="color:#0000ff;">Event</span>):<span style="color:#99cc00;">void </span>{
            singleRender();
            camera.orbit(<span style="color:#0000ff;">Math.abs</span>(<span style="color:#0000ff;">mouseY</span>+1 / 2), <span style="color:#0000ff;">Math.abs</span>(<span style="color:#0000ff;">mouseX</span>+1));
        }

    }

}</pre>
<p>Pode ter certeza que este método será muito útil em diversas de suas aplicações,  até a próxima.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hamistertower.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hamistertower.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hamistertower.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hamistertower.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hamistertower.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hamistertower.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hamistertower.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hamistertower.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hamistertower.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hamistertower.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hamistertower.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hamistertower.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hamistertower.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hamistertower.wordpress.com/587/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=587&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hamistertower.wordpress.com/2009/08/11/papervision-replacematerialbyname/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d2e1b25da9105d36b5ebcf0e1bd43c8a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Setzer Wolf</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/08/replacebyname.jpg" medium="image">
			<media:title type="html">ReplaceMaterialByName</media:title>
		</media:content>
	</item>
		<item>
		<title>Papervision [ReflectionView]</title>
		<link>http://hamistertower.wordpress.com/2009/07/27/papervision-reflectionview/</link>
		<comments>http://hamistertower.wordpress.com/2009/07/27/papervision-reflectionview/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 20:42:35 +0000</pubDate>
		<dc:creator>Setzer Wolf</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[papervision]]></category>
		<category><![CDATA[papervision 3d]]></category>
		<category><![CDATA[cubo]]></category>
		<category><![CDATA[movieassetmaterial]]></category>
		<category><![CDATA[colormaterial]]></category>
		<category><![CDATA[basicview]]></category>
		<category><![CDATA[ReflectionView]]></category>
		<category><![CDATA[AbstractView]]></category>
		<category><![CDATA[pv3d]]></category>
		<category><![CDATA[materialslist]]></category>
		<category><![CDATA[cube]]></category>
		<category><![CDATA[singlerender]]></category>

		<guid isPermaLink="false">http://hamistertower.wordpress.com/?p=578</guid>
		<description><![CDATA[Clique na imagem para testar Olá pessoal , Hoje falarei sobre uma classe muito interessante e simples, ReflectionView. Uma classe que faz com que o viewport se transforme em um espelho tanto para cima do eixo y:0 quanto para baixo. A classe ReflectionView é uma classe extendida da classe BasicView que por sua vez é [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=578&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><a title="Clique na imagem para testar a aplicação" href="http://setzerwolf.deviantart.com/art/Papervision-ReflectionView-131087600" target="_blank"><img class="alignnone size-full wp-image-579" title="Imagem" src="http://hamistertower.files.wordpress.com/2009/07/imagem.gif?w=300&#038;h=300" alt="Imagem" width="300" height="300" /></a></p>
<address>Clique na imagem para testar</address>
<p>Olá pessoal , Hoje falarei sobre uma classe muito interessante e simples, ReflectionView. Uma classe que faz com que o viewport se transforme em um espelho tanto para cima do eixo y:0 quanto para baixo.</p>
<p>A classe ReflectionView é uma classe extendida da classe <a href="http://hamistertower.wordpress.com/papervision-basicview/" target="_blank">BasicView </a>que por sua vez é extendido da classe AbstractView, o que eu quero dizer com tudo isso, que ao extender uma classe a RelectionView ele vai possuira atributos instanciados como:</p>
<pre style="font-size:12px;"><strong>AbstractView:</strong>
scene:<span style="color:#0000ff;">Scene3D</span>;
viewport:<span style="color:#0000ff;">Viewport3D</span>;
renderer:<span style="color:#0000ff;">BasicRenderEngine</span>;

startRendering();
stopRendering();
singleRender();

<strong>ReflectionView</strong>
viewportReflection : <span style="color:#0000ff;">Viewport3D</span>;
cameraReflection : <span style="color:#0000ff;">CameraObject3D</span>;
singleRender() (override - sobrescrevido)</pre>
<p>Quando criávamos nosso BasicView ativávamos a função startRendering() para renderizar nossa aplicação, porem quando criamos um ReflectionView também podemos utilizar esta função para renderizar, porém não irá criar reflexo pois a função responsável pelo reflexo é a singleRender() que esta reescrita nesta classe para poder ativar o reflexo. Esta parecendo complicado mas as coisas são bem simples vamos analisar nosso código. Em resumo para funcionar precisamos apenas colocar dentro de um bloco ENTER_FRAME a função singleRender();</p>
<p>Como de custume trabalharemos com 2 arquivos. ppv_reflection.fla e ppv_reflection.as. Certifique de possuir 2 movieclip em sua biblioteca com os seguintes linkage: “smile” e “face”.</p>
<p><span style="color:#0000ff;"><strong>ppv_reflection.as</strong></span></p>
<pre style="font-size:12px;"><span style="color:#99cc00;">package</span>
{
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.display.Sprite</span>;
    <span style="color:#99cc00;">import</span> <span style="color:#0000ff;">flash.events.Event</span>;
    <span style="color:#99cc00;">import</span> org.papervision3d.<span style="color:#0000ff;">core</span>.effects.view.ReflectionView;
    <span style="color:#99cc00;">import</span> org.papervision3d.materials.ColorMaterial;
    <span style="color:#99cc00;">import</span> org.papervision3d.materials.MovieAssetMaterial;
    <span style="color:#99cc00;">import</span> org.papervision3d.materials.<span style="color:#0000ff;">utils</span>.MaterialsList;
    <span style="color:#99cc00;">import</span> org.papervision3d.objects.primitives.Cube;

    <span style="color:#99cc00;">public class</span> ppv_reflection <span style="color:#0000ff;">extends</span> ReflectionView
    {
<span style="color:#99cc00;">        </span><span style="color:#99cc00;">public var</span> matsmile:MovieAssetMaterial;
        <span style="color:#99cc00;">public var</span> matface:MovieAssetMaterial;
        <span style="color:#99cc00;">public var</span> cubo:Cube;
        <span style="color:#99cc00;">public var</span> lista:MaterialsList;

        <span style="color:#99cc00;">public function</span> ppv_reflection() {
            <span style="color:#0000ff;">setChildIndex</span>(viewportReflection, 1);
            viewportReflection.<span style="color:#0000ff;">alpha </span>= 0.8;
            matsmile  = <span style="color:#99cc00;">new</span> MovieAssetMaterial(<span style="color:#008000;">"smile"</span>);
            matface  = <span style="color:#99cc00;">new</span> MovieAssetMaterial(<span style="color:#008000;">"face"</span>);
            lista = <span style="color:#99cc00;">new</span> MaterialsList(
                {front: matface,
                  back: matsmile,
                  top: <span style="color:#99cc00;">new</span> ColorMaterial(0xF9EAAD),
                  bottom: <span style="color:#99cc00;">new</span> ColorMaterial(0x000000),
                  left: matface,
                  right: matface} );
            cubo  = <span style="color:#99cc00;">new</span> Cube(lista, 200, 200, 250);
            scene.<span style="color:#0000ff;">addChild</span>(cubo);

            cubo.<span style="color:#0000ff;">y</span> = 150;
            <span style="color:#0000ff;">addEventListener</span>(<span style="color:#0000ff;">Event.ENTER_FRAME</span>, onEnterFrame);

        }
        <span style="color:#99cc00;">private function</span> onEnterFrame(e:<span style="color:#0000ff;">Event</span>):<span style="color:#99cc00;">void </span>{
            cubo.rotationY = mouseX - <span style="color:#0000ff;">stage.stageWidth</span> / 2;
            cubo.rotationX = mouseY - <span style="color:#0000ff;">stage.stageHeight</span> / 2;
            singleRender();
        }

    }

}</pre>
<p>Uma classe simples que possui uma imagem de fundo com um cubo personalizado, aonde este cubo se movimenta respondendo os comandos do mouse.Na primeira linha de nosso construtor utilizamos o seguinte código:</p>
<pre style="font-size:12px;">    <span style="color:#0000ff;">setChildIndex</span>(viewportReflection, 1);</pre>
<p>Quando criamos nossa classe extendida de ReflectionView automaticamente nosso viewport refletor é criado no índex 0 porem se eu quiser deixar uma imagem de background desenhado em alguma layer da time line esse background entrará em um índex acima de nosso viewport fazendo com que o viewport refletor fique por trás do background, este é o motive desta linha de comando, estamos trocando o posicionamento índex de nosso viewport.</p>
<p>Nosso viewport refletor ele funciona da seguinte maneira, tudo que esta do eixo y:0 para cima será refletido para baixo o eixo y:0 e vice versa, a imagem a seguir ilustra um cubo desenhado abaixo do eixo y:0.</p>
<p style="text-align:center;"><img class="aligncenter" title="img_02" src="http://hamistertower.files.wordpress.com/2009/07/img_02.jpg?w=300&#038;h=300" alt="img_02" width="300" height="300" /></p>
<p>Espero que tenham gostado deste tutorial, não precisam se preocupar que teremos mais coisas interessantes no decorrer da semana, até a próxima.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hamistertower.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hamistertower.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hamistertower.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hamistertower.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hamistertower.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hamistertower.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hamistertower.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hamistertower.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hamistertower.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hamistertower.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hamistertower.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hamistertower.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hamistertower.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hamistertower.wordpress.com/578/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=578&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hamistertower.wordpress.com/2009/07/27/papervision-reflectionview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d2e1b25da9105d36b5ebcf0e1bd43c8a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Setzer Wolf</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/07/imagem.gif" medium="image">
			<media:title type="html">Imagem</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/07/img_02.jpg" medium="image">
			<media:title type="html">img_02</media:title>
		</media:content>
	</item>
		<item>
		<title>Emulador de Game Boy Classic em Flash</title>
		<link>http://hamistertower.wordpress.com/2009/07/23/emulador-de-game-boy-classic-em-flash/</link>
		<comments>http://hamistertower.wordpress.com/2009/07/23/emulador-de-game-boy-classic-em-flash/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 14:21:19 +0000</pubDate>
		<dc:creator>Setzer Wolf</dc:creator>
				<category><![CDATA[Criação de jogos]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[emulador]]></category>
		<category><![CDATA[game boy]]></category>
		<category><![CDATA[referencia]]></category>

		<guid isPermaLink="false">http://hamistertower.wordpress.com/?p=573</guid>
		<description><![CDATA[Olá pessoal, muitos de vocês adoram jogar jogos emulados, final fantasy, chrono trigger, Pokémon. Pois bem, aposto que vocês nunca imaginaram fazer um emulador em flash, eu pessoalmente nunca me imaginei, acontece que eu acabei esbarrando com um site muito interessante aonde possuía um código de um emulador de game boy classic feito em flash. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=573&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal, muitos de vocês adoram jogar jogos emulados, final fantasy, chrono trigger, Pokémon. Pois bem, aposto que vocês nunca imaginaram fazer um emulador em flash, eu pessoalmente nunca me imaginei, acontece que eu acabei esbarrando com um site muito interessante aonde possuía um código de um emulador de game boy classic feito em flash.</p>
<p style="text-align:center;"><a href="http://wonderfl.net/code/e1d25a8409a7882241cff12b4b093c54a746212b" target="_blank"><img class="size-full wp-image-574 aligncenter" title="emuladorgb" src="http://hamistertower.files.wordpress.com/2009/07/emuladorgb.jpg?w=420&#038;h=335" alt="emuladorgb" width="420" height="335" /></a></p>
<address>Clique na imagem para visualizar o código<br />
</address>
<p>O site é uma espécie de compilador de flash online, aonde o usuário escreve seu código, compila e compartilha com outros usuários do site, encontrei uns códigos bem simples para usar como referencia em meus estudos da engine box2d, também encontrei bons exemplos de papervision, vale apena dar uma conferida no site. <a href="http://wonderfl.net/" target="_blank">http://wonderfl.net/</a>. Agora que vocês tem acesso ao código de um emulador de game boy classic desafio vocês a criar um emulador de game boy color. Heheh. Bem pessoal até o próximo post.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hamistertower.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hamistertower.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hamistertower.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hamistertower.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hamistertower.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hamistertower.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hamistertower.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hamistertower.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hamistertower.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hamistertower.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hamistertower.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hamistertower.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hamistertower.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hamistertower.wordpress.com/573/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=573&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hamistertower.wordpress.com/2009/07/23/emulador-de-game-boy-classic-em-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d2e1b25da9105d36b5ebcf0e1bd43c8a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Setzer Wolf</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/07/emuladorgb.jpg" medium="image">
			<media:title type="html">emuladorgb</media:title>
		</media:content>
	</item>
		<item>
		<title>Papervision Math</title>
		<link>http://hamistertower.wordpress.com/2009/07/21/567/</link>
		<comments>http://hamistertower.wordpress.com/2009/07/21/567/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 20:58:31 +0000</pubDate>
		<dc:creator>Setzer Wolf</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[papervision]]></category>
		<category><![CDATA[papervision 3d]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[Math.cos]]></category>
		<category><![CDATA[Math.sin]]></category>
		<category><![CDATA[Math.PI]]></category>
		<category><![CDATA[Matematica no Flash]]></category>

		<guid isPermaLink="false">http://hamistertower.wordpress.com/?p=567</guid>
		<description><![CDATA[Olá pessoal, decidi que para este novo tutorial eu iria fazer alguma coisa simples mesclando matemática e papervision. Clique aqui na imagem para visualizar a aplicação Para demonstrar o movimento de translação nada melhor que usar um exemplo já conhecido, o movimento da lua sobre a terra. Criaremos 1 arquivo (.fla) e um arquivo (.as) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=567&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:left;">Olá pessoal, decidi que para este novo tutorial eu iria fazer alguma coisa simples mesclando matemática e papervision.</p>
<p style="text-align:center;"><a href="http://setzerwolf.deviantart.com/art/Papervision-Math-130360289" target="_blank"><img title="Papervision Math" src="http://hamistertower.files.wordpress.com/2009/07/ppvmath2.jpg?w=400&#038;h=400" alt="Papervision Math" width="400" height="400" /></a></p>
<address>Clique aqui na imagem para visualizar a aplicação</address>
<p>Para demonstrar o movimento de translação nada melhor que usar um exemplo já conhecido, o movimento da lua sobre a terra.</p>
<p>Criaremos 1 arquivo (.fla) e um arquivo (.as) rotulado como ppv_math, definimos no flash como document class nosso ppv_math. Nosso código não possui nenhum mistério para quem já vem acompanhando nossos tutoriais de papervision com exceção das seguintes linhas de código.</p>
<pre style="font-size:12px;">lua.<span style="color:#0000ff;">z</span> = <span style="color:#0000ff;">Math.cos</span>(teta) * 150;
lua.<span style="color:#0000ff;">x</span> = <span style="color:#0000ff;">Math.sin</span>(teta) * 150;
lua.<span style="color:#0000ff;">y</span> = <span style="color:#0000ff;">Math.sin</span>(teta) * 50;</pre>
<p>Para fazer a translação padrão utilizamos como eixos base nosso “x” e “z” para interargimos lateralmente e com profundidade, para dar um efeito mais interessante na aplicação decidi colocar uma interação no eixo “y” para a lua percorrer em um sentido diagonal. Experimente comentar um dos eixos para ver o que acontece. Agora segue o código na integra.</p>
<p><strong><span style="color:#0000ff;">ppv_math.as</span></strong></p>
<pre style="font-size:12px;"><span style="color:#99cc00;">package </span>{
<span style="color:#999999;">    //flash
</span>    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.display.Sprite</span>;
    <span style="color:#99cc00;">import</span> <span style="color:#0000ff;">flash.events.Event</span>;
<span style="color:#999999;">    //papervision</span>
    <span style="color:#99cc00;">import</span> org.papervision3d.<span style="color:#0000ff;">scenes</span>.Scene3D;
    <span style="color:#99cc00;">import</span> org.papervision3d.view.Viewport3D;
    <span style="color:#99cc00;">import</span> org.papervision3d.cameras.Camera3D;
    <span style="color:#99cc00;">import</span> org.papervision3d.render.BasicRenderEngine;
<span style="color:#999999;">    //Material</span>
    <span style="color:#99cc00;">import</span> org.papervision3d.materials.BitmapAssetMaterial;
<span style="color:#999999;">    // objeto</span>
    <span style="color:#99cc00;">import</span> org.papervision3d.objects.primitives.Sphere;

    <span style="color:#99cc00;">public class</span> ppv_math <span style="color:#99cc00;">extends</span> <span style="color:#0000ff;">Sprite</span> {

        <span style="color:#99cc00;">public var</span> cena:Scene3D;
        <span style="color:#99cc00;">public var</span> viewport:Viewport3D;
        <span style="color:#99cc00;">public var</span> camera:Camera3D;
        <span style="color:#99cc00;">public var</span> renderer:BasicRenderEngine;
<span style="color:#999999;">        //objetos Primitivos</span>
        <span style="color:#99cc00;">public var</span> terra:Sphere;
        <span style="color:#99cc00;">public var </span>lua:Sphere;
<span style="color:#999999;">        //Matemática</span>
        <span style="color:#99cc00;">public var </span>alfa:<span style="color:#0000ff;">Number</span> = <span style="color:#0000ff;">Math.PI</span> / 180;
        <span style="color:#99cc00;">public var</span> teta:<span style="color:#0000ff;">Number</span> = 0;

        <span style="color:#99cc00;">public function</span> ppv_math () {
            Set ();
            Objetos ();
        }
        <span style="color:#99cc00;">public function</span> Set ():<span style="color:#99cc00;">void</span> {

            viewport = new Viewport3D(400,400);
            <span style="color:#0000ff;">addChild</span> (viewport);
            cena = <span style="color:#99cc00;">new</span> Scene3D ;
            renderer = <span style="color:#99cc00;">new</span> BasicRenderEngine ;
            camera = <span style="color:#99cc00;">new</span> Camera3D ;
            camera.<span style="color:#0000ff;">zoom</span> = 5;
            camera.<span style="color:#0000ff;">focus</span> = 200;

        }
        <span style="color:#99cc00;">public function</span> Objetos ():void {
            terra = <span style="color:#99cc00;">new</span> Sphere(<span style="color:#99cc00;">new</span> BitmapAssetMaterial(<span style="color:#008000;">"Earth"</span>), 100, 15,15);
            lua = <span style="color:#99cc00;">new</span> Sphere(<span style="color:#99cc00;">new</span> BitmapAssetMaterial(<span style="color:#008000;">"moon"</span>), 30, 15,15);

            cena.<span style="color:#0000ff;">addChild</span>(terra);
            cena.<span style="color:#0000ff;">addChild</span>(lua);

            <span style="color:#0000ff;">addEventListener</span> (<span style="color:#0000ff;">Event.ENTER_FRAME</span>,Loop,<span style="color:#0000ff;">false</span>, 0, <span style="color:#0000ff;">true</span>);

        }
        <span style="color:#99cc00;">public function </span>Loop (e:<span style="color:#0000ff;">Event</span>):<span style="color:#99cc00;">void</span> {
            teta += alfa;
            renderer.renderScene (cena, camera, viewport);
            terra.yaw(1);
            lua.yaw(1);

            lua.<span style="color:#0000ff;">z</span> = <span style="color:#0000ff;">Math.cos</span>(teta) * 150;
            lua.<span style="color:#0000ff;">x</span> = <span style="color:#0000ff;">Math.sin</span>(teta) * 150;
            lua.<span style="color:#0000ff;">y</span> = <span style="color:#0000ff;">Math.sin</span>(teta) * 50;

        }
    }
}</pre>
<p>Com conceitos básicos é possível criar diversas coisas interessantes com o papervision, tentarei criar mais tutoriais cultos envolvendo a matemática. Até a próxima!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hamistertower.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hamistertower.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hamistertower.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hamistertower.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hamistertower.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hamistertower.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hamistertower.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hamistertower.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hamistertower.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hamistertower.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hamistertower.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hamistertower.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hamistertower.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hamistertower.wordpress.com/567/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=567&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hamistertower.wordpress.com/2009/07/21/567/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d2e1b25da9105d36b5ebcf0e1bd43c8a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Setzer Wolf</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/07/ppvmath2.jpg" medium="image">
			<media:title type="html">Papervision Math</media:title>
		</media:content>
	</item>
		<item>
		<title>Matemática no Flash</title>
		<link>http://hamistertower.wordpress.com/2009/06/25/matematica-no-flash/</link>
		<comments>http://hamistertower.wordpress.com/2009/06/25/matematica-no-flash/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 13:43:09 +0000</pubDate>
		<dc:creator>Setzer Wolf</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Matematica no Flash]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Math.cos]]></category>
		<category><![CDATA[Math.PI]]></category>
		<category><![CDATA[Math.sin]]></category>

		<guid isPermaLink="false">http://hamistertower.wordpress.com/?p=556</guid>
		<description><![CDATA[Olá pessoal. Finalmente chegou a hora de vocês usarem seus conhecimentos do ginásio. Vocês sempre ouviram dizer que quem faz informática precisa saber matemática, bem se até hoje ainda não encontrou utilidade para ela, não se preocupe, hoje estarei estreando mais uma seqüência de tutoriais que mostrarão que a matemática é uma poderosa ferramenta para [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=556&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class="size-full wp-image-553 aligncenter" title="math" src="http://hamistertower.files.wordpress.com/2009/06/math.jpg?w=300&#038;h=300" alt="math" width="300" height="300" /></p>
<p>Olá pessoal. Finalmente chegou a hora de vocês usarem seus conhecimentos do ginásio. Vocês sempre ouviram dizer que quem faz informática precisa saber matemática, bem se até hoje ainda não encontrou utilidade para ela, não se preocupe, hoje estarei estreando mais uma seqüência de tutoriais que mostrarão que a matemática é uma poderosa ferramenta para criação de jogos, menus interativos, aplicativos gráficos entre outra utilidade. O foco do nosso primeiro tutorial de matemática com actionscript será o movimento de translação.</p>
<p style="text-align:center;"><img class="size-medium wp-image-559 aligncenter" title="01o_plano_cartesiano_img_5" src="http://hamistertower.files.wordpress.com/2009/06/01o_plano_cartesiano_img_5.jpg?w=300&#038;h=251" alt="01o_plano_cartesiano_img_5" width="300" height="251" /></p>
<p>Este é o plano cartesiano da matemática conceitual, no flash trabalhamos quase que exatamente igual com exceção que o eixo y é invertido, ao aumentarmos o valor de y a imagem segue para baixo.</p>
<p><span style="color:#0000ff;"><strong>Translação:</strong></span></p>
<p>Para quem não se lembra, translação é o movimento que a terra faz em torno do sol. Resumindo , é quando um objeto circula um eixo sempre mantendo a mesma distância (raio).</p>
<p style="text-align:center;"><img class="size-full wp-image-557 aligncenter" title="translacao" src="http://hamistertower.files.wordpress.com/2009/06/translacao.gif?w=420&#038;h=248" alt="translacao" width="420" height="248" /></p>
<p>Você com certeza já viram este recurso sendo usado em alguns jogos, assim como uma bola de fogo, bola de espinhos ou uma plataforma dinâmica. Para reproduzirmos este movimento precisamos relembrar alguns conceitos básicos de trigonometria.</p>
<p style="text-align:center;"><img class="size-full wp-image-554 aligncenter" title="math03" src="http://hamistertower.files.wordpress.com/2009/06/math03.jpg?w=300&#038;h=300" alt="math03" width="300" height="300" /></p>
<p>Como podemos ver no circulo trigonométrico a distancia oposta ao angulo é o Cosseno vezes o raio e a distancia adjacente é igual ao seno vezes o raio, Porem no actionscript o angulo deve ser escrito em Radianos vamos analisar a figura e ver como ficaria a posição dos objetos.</p>
<p style="text-align:center;"><img title="math04" src="../files/2009/06/math041.jpg" alt="math04" width="300" height="300" /></p>
<p>Para efetuar o movimento de translação é necessário sempre estar incrementando o angulo por intermédio de enterframe ou timeout. Agora vamos seguir com o nosso exemplo pratico.</p>
<p>Iremos utilizar a linguagem estruturada em nosso exemplo, teremos apenas um arquivo .fla e já teremos um objeto que rotacionará o centro do palco, este objeto terá o nome de &#8220;ob&#8221;. No primeiro frame escreveremos o seguinte código.</p>
<p>No código a seguir utilizamos os seguintes métodos da classe Math:</p>
<p><span style="color:#0000ff;">Math.cos</span>(n:<span style="color:#0000ff;">Number</span>): retorna o cosseno do ângulo.<br />
<span style="color:#0000ff;">Math.sin</span>(n:<span style="color:#0000ff;">Number</span>): retorna o seno do ângulo.<br />
<span style="color:#0000ff;">Math.PI</span>: constante que retorna o PI, PI é a representação gráfica de 180 em radianos.</p>
<p>Em nosso código o objeto ficará circulando o centro com um raio de 100px e a cada passada pelo loop de enterframe o angulo final receberá um ingremento de 2°.  O centro da circunferência será definido no final da equação. Adicionando o respectivo posicionamento do centro após a equação.</p>
<pre style="font-size:12px;"><span style="color:#99cc00;">var </span>angulo:<span style="color:#0000ff;">Number </span>= <span style="color:#0000ff;">Math.PI</span>/90;
<span style="color:#99cc00;">var </span>newAngulo:<span style="color:#0000ff;">Number </span>= 0;

<span style="color:#0000ff;">addEventListener</span>(<span style="color:#0000ff;">Event.ENTER_FRAME</span>,EnterFrame);

<span style="color:#0000ff;">function </span>EnterFrame(e:<span style="color:#0000ff;">Event</span>) {
	newAngulo += angulo;
	ob.<span style="color:#0000ff;">x</span> = <span style="color:#0000ff;">Math.cos</span>(newAngulo) * 100 + <span style="color:#0000ff;">stage.stageWidth</span>/2;
	ob.<span style="color:#0000ff;">y</span> = <span style="color:#0000ff;">Math.sin</span>(newAngulo) * 100 + <span style="color:#0000ff;">stage.stageWidth</span>/2;
}</pre>
<p>Desculpe pela demora na postagem de um novo tutorial,  meu computador estava com problema e eu estava super atarefado no trabalho. Mas podem deixar que tentarei voltar a periodicidade^^ abraços.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hamistertower.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hamistertower.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hamistertower.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hamistertower.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hamistertower.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hamistertower.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hamistertower.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hamistertower.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hamistertower.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hamistertower.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hamistertower.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hamistertower.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hamistertower.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hamistertower.wordpress.com/556/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=556&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hamistertower.wordpress.com/2009/06/25/matematica-no-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d2e1b25da9105d36b5ebcf0e1bd43c8a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Setzer Wolf</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/06/math.jpg" medium="image">
			<media:title type="html">math</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/06/01o_plano_cartesiano_img_5.jpg?w=300" medium="image">
			<media:title type="html">01o_plano_cartesiano_img_5</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/06/translacao.gif" medium="image">
			<media:title type="html">translacao</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/06/math03.jpg" medium="image">
			<media:title type="html">math03</media:title>
		</media:content>

		<media:content url="../files/2009/06/math041.jpg" medium="image">
			<media:title type="html">math04</media:title>
		</media:content>
	</item>
		<item>
		<title>Papervision BasicView</title>
		<link>http://hamistertower.wordpress.com/2009/05/28/papervision-basicview/</link>
		<comments>http://hamistertower.wordpress.com/2009/05/28/papervision-basicview/#comments</comments>
		<pubDate>Thu, 28 May 2009 12:36:53 +0000</pubDate>
		<dc:creator>Setzer Wolf</dc:creator>
				<category><![CDATA[papervision]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[basicview]]></category>
		<category><![CDATA[movieassetmaterial]]></category>
		<category><![CDATA[objetos primitivos]]></category>
		<category><![CDATA[papervision3d]]></category>

		<guid isPermaLink="false">http://hamistertower.wordpress.com/?p=539</guid>
		<description><![CDATA[Olá pessoal, finalmente consegui um tempinho para criar um novo post. Hoje falaremos sobre uma classe que foi criada no intuito de simplificar a nossa vida com o papervision a classe BasicView BasicView é uma classe para aplicações simples, criando uma classe extendida de basicview você não precisa ficar instanciando cameras, viewports, renderes, pois a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=539&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal, finalmente consegui um tempinho para criar um novo post. Hoje falaremos sobre uma classe que foi criada no intuito de simplificar a nossa vida com o papervision a classe BasicView</p>
<p>BasicView é uma classe para aplicações simples, criando uma classe extendida de basicview você não precisa ficar instanciando cameras, viewports, renderes, pois a propria classe ja faz isso.</p>
<p>Veja como nosso código fica muito otimizado, Neste exemplo estamos criando apenas uma esfera, utilizando um MovieAssetMaterial para importar um movieclip com o id igual a &#8220;smile&#8221; de nossa biblioteca e rotacionando um pouco a esfera com o metodo yaw.</p>
<p style="text-align:center;"><a href="http://setzerwolf.deviantart.com/art/Papervision-BasicView-123880132" target="_blank"><img title="ppv" src="http://hamistertower.files.wordpress.com/2009/05/ppv.jpg?w=300&#038;h=300" alt="ppv" width="300" height="300" /></a></p>
<p><strong><span style="color:#0000ff;">Arquivo: <span style="color:#000000;">ppv_basic.as</span></span></strong></p>
<pre style="font-size:12px;"><span style="color:#99cc00;">package  </span>{
	<span style="color:#99cc00;">import </span>org.papervision3d.objects.primitives.Sphere;
	<span style="color:#99cc00;">import </span>org.papervision3d.materials.MovieAssetMaterial;
	<span style="color:#99cc00;">import </span>org.papervision3d.view.BasicView;</pre>
<pre style="font-size:12px;">	<span style="color:#99cc00;">public class</span> ppv_basic <span style="color:#99cc00;">extends </span>BasicView{
		<span style="color:#99cc00;">public </span><span style="color:#99cc00;">var </span>sphere:Sphere =  <span style="color:#99cc00;">new </span>Sphere(
             <span style="color:#99cc00;">new </span>MovieAssetMaterial(<span style="color:#008000;">"smile"</span>), 200,10,10);
		<span style="color:#99cc00;">public </span><span style="color:#99cc00;">function </span>ppv_basic() {
			scene.<span style="color:#0000ff;">addChild</span>(sphere);
			sphere.yaw(-125);
			startRendering();
		}
	}
}</pre>
<address>Lembrando que para este codigo funcionar precisamos criar um arquivo flash, adicionar o pacote de classes do papervision e ter algum movieclip na biblioteca com o linkage &#8220;smile&#8221;.</address>
<p>Apesar da simplicidade eu não recomendo usar basicview para projetos complexos, mas se você estiver interessado em algum projeto muito simples seu uso é indispensavel. Para complementar a classe BasicView possui os seguintes paramêtros opcionais, seguido de suas propriedades default:</p>
<pre style="font-size:12px;">BasicView (viewportWidth:<span style="color:#0000ff;">Number </span>= 640, viewportHeight:<span style="color:#0000ff;">Number </span>= 480,
 scaleToStage:<span style="color:#0000ff;">Boolean </span>= <span style="color:#0000ff;">true</span>, interactive:<span style="color:#0000ff;">Boolean </span>= <span style="color:#0000ff;">false</span>, cameraType:<span style="color:#0000ff;">String </span>= <span style="color:#008000;">"Target"</span>)</pre>
<p>Espero que tenham gostado deste post, ando meio ocupado estudando diversas coisas ao mesmo tempo, também comecei a estudar a engine Away3d muito utilizada também para construção de projetos 3d no flash, similar ao papervision, podes ter certeza que logo logo estarei compartilhando este novo conhecimento com vocês. Obrigado pela sua visita e até o proximo post</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hamistertower.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hamistertower.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hamistertower.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hamistertower.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hamistertower.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hamistertower.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hamistertower.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hamistertower.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hamistertower.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hamistertower.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hamistertower.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hamistertower.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hamistertower.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hamistertower.wordpress.com/539/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=539&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hamistertower.wordpress.com/2009/05/28/papervision-basicview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d2e1b25da9105d36b5ebcf0e1bd43c8a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Setzer Wolf</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/05/ppv.jpg" medium="image">
			<media:title type="html">ppv</media:title>
		</media:content>
	</item>
		<item>
		<title>Papervision MouseClick</title>
		<link>http://hamistertower.wordpress.com/2009/05/07/papervision-mouseclick/</link>
		<comments>http://hamistertower.wordpress.com/2009/05/07/papervision-mouseclick/#comments</comments>
		<pubDate>Thu, 07 May 2009 04:32:14 +0000</pubDate>
		<dc:creator>Setzer Wolf</dc:creator>
				<category><![CDATA[Blá Blá Blá Etc e Tal!]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[papervision]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[BitmapAssetMaterial]]></category>
		<category><![CDATA[papervision 3d]]></category>
		<category><![CDATA[papervision3d]]></category>

		<guid isPermaLink="false">http://hamistertower.wordpress.com/?p=534</guid>
		<description><![CDATA[Olá pessoal como havia prometido nosso mais novo tutorial papervision não estamos usando o Cubo, para diversificar um pouco decidi utilizar a Esfera. Este tutorial é essencial para ter uma base de criação de site em papervion, neste tutorial vamos aprender a colocar nosso viewport para aceitar interação e definiremos nossa esfera para funcionar como [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=534&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><a href="http://setzerwolf.deviantart.com/art/Papervision-MouseClick-121706830" target="_blank"><img class="size-full wp-image-533 aligncenter" title="mundi" src="http://hamistertower.files.wordpress.com/2009/05/mundi.png?w=300&#038;h=300" alt="mundi" width="300" height="300" /></a></p>
<p>Olá pessoal como havia prometido nosso mais novo tutorial papervision não estamos usando o Cubo, para diversificar um pouco decidi utilizar a Esfera.</p>
<p>Este tutorial é essencial para ter uma base de criação de site em papervion, neste tutorial vamos aprender a colocar nosso viewport para aceitar interação e definiremos nossa esfera para funcionar como botão simples, onde a única funcionalidade será pausar e retomar a rotação.</p>
<p>Depois de uma seqüência de tutoriais sobre papervision existe muitos pontos que não precisarei explicar de novo, como  por exemplo: inserir uma esfera e importar uma textura para ela. Hoje me focarei somente nos pontos chaves.</p>
<p><strong>Viewport3D</strong></p>
<p>O viewport é o nosso ambiente 3d, extremamente essencial para criar algo com o papervision, quando criamos nosso viewport3d podemos definir alguns parâmetros iniciais.</p>
<pre style="font-size:12px;"><span style="color:#99cc00;">    new </span>niewport3D(<span style="color:#0000ff;">width</span>, <span style="color:#0000ff;">height</span>, <span style="color:#0000ff;">autoscale</span>, <span style="color:#0000ff;">interactive</span>)</pre>
<ul>
<li><span style="color:#0000ff;">width </span>(<span style="color:#0000ff;">Number</span>): Define a largura de nosso viewport3d;</li>
<li><span style="color:#0000ff;">height </span>(<span style="color:#0000ff;">Number</span>): Define a altura de nosso viewport3d;</li>
<li><span style="color:#0000ff;">autoscale </span>(<span style="color:#0000ff;">Boolean</span>): Determina se o viewport vai se escalar ao Stage.</li>
<li><span style="color:#0000ff;">Interactive </span>(<span style="color:#0000ff;">Boolean</span>): Permite o uso de interações com o mouse, possibilitando o uso do evento InteractiveScene3DEvent.</li>
</ul>
<p><strong>Criando Interação</strong></p>
<p>Em nosso código passaremos a definir o parâmetro interativo para true. Com o viewport definido para true poderemos definir agora nosso material para interative possibilitando ele ser clicado quando estiver em um objeto primitivo.Neste exemplo eu usarei o MovieMaterial, mas vocês poderiam utilizar qualquer outro tipo de material, lembrando que com o movie material eu importo um movieclip que esteja em minha biblioteca ou que já tenha sido instanciado.</p>
<pre style="font-size:12px;">     skin = <span style="color:#99cc00;">new </span>MovieMaterial(mov);
     skin.<span style="color:#0000ff;">interactive </span>= <span style="color:#0000ff;">true</span>;</pre>
<p>Agora poderemos adicionar um listener em nossa esfera chamando o evento de interação especifico seguido de um método que será executado.</p>
<pre style="font-size:12px;">    esfera.<span style="color:#0000ff;">addEventListener</span>(InteractiveScene3DEvent.OBJECT_PRESS,PRESS);</pre>
<p><strong>Código: main.as<br />
</strong></p>
<pre style="font-size:12px;"><span style="color:#99cc00;">package</span>
{
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.display.Sprite</span>;
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.display.MovieClip</span>;
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.events.Event</span>;
    <span style="color:#99cc00;">import </span>org.papervision3d.materials.MovieMaterial;
    <span style="color:#99cc00;">import </span>org.papervision3d.objects.primitives.Sphere;
    <span style="color:#99cc00;">import</span> org.papervision3d.<span style="color:#0000ff;">scenes</span>.Scene3D;
    <span style="color:#99cc00;">import </span>org.papervision3d.view.Viewport3D;
    <span style="color:#99cc00;">import </span>org.papervision3d.cameras.Camera3D;
    <span style="color:#99cc00;">import </span>org.papervision3d.render.BasicRenderEngine;
    <span style="color:#99cc00;">import </span>org.papervision3d.events.InteractiveScene3DEvent;</pre>
<pre style="font-size:12px;">    <span style="color:#99cc00;">public </span><span style="color:#99cc00;">class </span>main <span style="color:#99cc00;">extends </span><span style="color:#0000ff;">Sprite</span>
    {
        <span style="color:#99cc00;">public </span><span style="color:#99cc00;">var </span>cena:Scene3D;
        <span style="color:#99cc00;">public var</span> viewport:Viewport3D;
        <span style="color:#99cc00;">public var</span> camera:Camera3D;
        <span style="color:#99cc00;">public var</span> renderer:BasicRenderEngine;
        <span style="color:#99cc00;">public var</span> esfera:Sphere;
        <span style="color:#99cc00;">public var</span> mov:MovieClip = <span style="color:#99cc00;">new </span>earth();
        <span style="color:#99cc00;">public var</span> skin:MovieMaterial;
        <span style="color:#99cc00;">public var</span> paused:<span style="color:#0000ff;">Boolean </span>= <span style="color:#0000ff;">false</span>;
<pre style="font-size:12px;">        <span style="color:#99cc00;">public function</span> main ()
        {
            Set ();
            Objetos ();
        }
        <span style="color:#99cc00;">public function</span> Set ():<span style="color:#99cc00;">void</span>
        {
            viewport = <span style="color:#99cc00;">new </span>Viewport3D(300,300,<span style="color:#0000ff;">false</span>,<span style="color:#0000ff;">true</span>);
            addChild (viewport);
            cena = <span style="color:#99cc00;">new </span>Scene3D ;
            renderer = <span style="color:#99cc00;">new </span>BasicRenderEngine ;
            camera = <span style="color:#99cc00;">new </span>Camera3D ;
        }
        <span style="color:#99cc00;">public function</span> Objetos ():<span style="color:#99cc00;">void</span>
        {
            skin = <span style="color:#99cc00;">new </span>MovieMaterial(mov);
            skin.interactive = <span style="color:#0000ff;">true</span>;</pre>
<p>esfera = <span style="color:#99cc00;">new </span>Sphere(skin,300,30);</p>
<pre style="font-size:12px;">            cena.addChild(esfera);</pre>
<p>esfera.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS,PRESS);</p>
<pre style="font-size:12px;">            addEventListener (<span style="color:#0000ff;">Event.ENTER_FRAME</span>,Loop,<span style="color:#0000ff;">false</span>, 0, <span style="color:#0000ff;">true</span>);
        }
        <span style="color:#99cc00;">public function</span> PRESS (e:InteractiveScene3DEvent ):<span style="color:#99cc00;">void</span>
        {
            paused = !paused;
        }
        <span style="color:#99cc00;">public function</span> Loop (e:Event):<span style="color:#99cc00;">void</span>
        {
            <span style="color:#99cc00;">if </span>(!paused)
            {
                esfera.roll(1)
                esfera.yaw(3)
                esfera.pitch(1)
            }
            renderer.renderScene (cena,camera,viewport);
        }
    }
}</pre>
</pre>
<p>Lembrando que para este tutorial funcionar devemos importer as classes do papervision e definir como classe padrão do fla a classe main,<br />
Tentei fazer algo bem simples para demonstrar a interação do mouse com o papervision, com isso podemos criar diversas coisas seguindo a criatividade de cada um. Tentarei fazer algo mais elaborado para próximo tutorial. Espero que tenham gostado e que estes tutoriais sobre papervision estejam sendo úteis para vocês em seus estudos. Bem ate a próxima.</p>
<pre style="font-size:12px;"></pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hamistertower.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hamistertower.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hamistertower.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hamistertower.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hamistertower.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hamistertower.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hamistertower.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hamistertower.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hamistertower.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hamistertower.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hamistertower.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hamistertower.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hamistertower.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hamistertower.wordpress.com/534/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=534&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hamistertower.wordpress.com/2009/05/07/papervision-mouseclick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d2e1b25da9105d36b5ebcf0e1bd43c8a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Setzer Wolf</media:title>
		</media:content>

		<media:content url="http://hamistertower.files.wordpress.com/2009/05/mundi.png" medium="image">
			<media:title type="html">mundi</media:title>
		</media:content>
	</item>
		<item>
		<title>Papervision MovieMaterial</title>
		<link>http://hamistertower.wordpress.com/2009/05/04/papervision-moviematerial/</link>
		<comments>http://hamistertower.wordpress.com/2009/05/04/papervision-moviematerial/#comments</comments>
		<pubDate>Mon, 04 May 2009 05:11:10 +0000</pubDate>
		<dc:creator>Setzer Wolf</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[papervision]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[papervision 3d]]></category>
		<category><![CDATA[papervision3d]]></category>
		<category><![CDATA[Setzer Wolf]]></category>
		<category><![CDATA[Tile]]></category>
		<category><![CDATA[Tile System]]></category>

		<guid isPermaLink="false">http://hamistertower.wordpress.com/?p=531</guid>
		<description><![CDATA[Clique na imagem para testar Olá pessoal , para dar continuidade ao nosso estudo sobre papervision, hoje vamos falar sobre mais um tipo de material que podemos utilizar nos nosso objetos primitivos a textura MovieMaterial. Antes de começamos a falar sobre esse material vamos falar sobre um problema que ocorria com a classe MovieAssetMaterial. Quando [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=531&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:left;"><a href="http://setzerwolf.deviantart.com/art/Papervision-MovieMaterial-121387849" target="_blank"><img class="size-full wp-image-527 aligncenter" title="moviematerial" src="../files/2009/05/moviematerial.png" alt="moviematerial" width="300" height="300" /></a></p>
<address>Clique na imagem para testar</address>
<p style="text-align:left;">Olá pessoal , para dar continuidade ao nosso estudo sobre papervision, hoje vamos falar sobre mais um tipo de material que podemos utilizar nos nosso objetos primitivos a textura MovieMaterial. Antes de começamos a falar sobre esse material vamos falar sobre um problema que ocorria com a classe MovieAssetMaterial.</p>
<p style="text-align:left;">Quando aprendemos sobre MovieAssetMaterial, passávamos uma string como parâmetro e importávamos de nossa biblioteca um movieclip onde o valor  da propriedade linkage era igual da string referida. Mas a classe MovieAssetMaterial não aceita importar um movieclip que tenha come base uma classe que necessite de um parâmetro.</p>
<p style="text-align:left;">A classe MovieMaterial utiliza como parâmetro a instanciação de um movielip ao invés de uma string referindo sua propriedade linkage, com isso seu movieclip padrão não necessariamente precisa estar na bibliote, você pode trabalhar com um movieclip já instanciado, assim você pode utilizar o método gotoAndStop para indicar outro frame antes de ter instanciado ele como material..Outra vantagem é a possibilidade de utilizar um movieclip da biblioteca que tenha como base uma classe que exija parâmetro.</p>
<p style="text-align:left;"><span style="color:#0000ff;"><strong>Construtor</strong></span></p>
<p style="text-align:left;">Para criarmos um MovieMaterial devemos instanciar um objeto do tipo MovieMaterial.<br />
Nosso único parâmetro obrigatório é um do tipo DisplayObject que é a referencia de nossa textura.</p>
<pre style="text-align:left;font-size:12px;"><span style="color:#99cc00;">var </span> material:MovieMaterial =  <span style="color:#99cc00;">new</span> MovieMaterial(movieAsset);</pre>
<p style="text-align:left;"><span style="color:#0000ff;">movieAsset </span>(DisplayObject): Referencia de um movieclip existente carregado na memória ou no stage.<br />
<span style="color:#0000ff;">Transparent </span>(Boolean): Define se a textura possuirá transparência. [opcional]<br />
<span style="color:#0000ff;">Animated </span>(Boolean): Define se o movieclip sera animado [opcional]</p>
<p style="text-align:left;"><span style="color:#0000ff;"><strong>Tutorial</strong></span></p>
<p style="text-align:left;">Neste tutorial eu quis brincar um pouco e mais uma vez dou uma demonstração de tile system com papervison, mas desta vez vamos ter uma classe que se comportará como movieclip aonde receberá como parâmetro um número que definirá qual vetor vai utilizar para criar o cenário, depois utilizaremos como material nosso cenário, A parte relacionada a papervision não terá mistério nenhum pois estarei usando a estrutura do tutorial anterior relacionado a materiais.</p>
<p style="text-align:left;"><span style="color:#0000ff;"><strong>Arquivos</strong></span></p>
<p style="text-align:left;">Neste tutorial trabalharemos com os seguintes arquivos:<br />
1-	MovieMaterial.fla<br />
2-	main.as<br />
3-	faceField.as: Classe que criará um cenário tile system para se comportar como material</p>
<p style="text-align:left;"><strong><span style="color:#0000ff;">MovieMaterial.fla:</span></strong></p>
<p style="text-align:center;"><img class="size-full wp-image-529 aligncenter" title="obtile" src="../files/2009/05/obtile.png" alt="obtile" width="300" height="160" /></p>
<p>1-	faceField: Movieclip<br />
2-	obTile:MovieClip<br />
3-	main (definir como classe principal)</p>
<address> obs: para criar um movirclip vazio basta segurar ctrl + F8.</address>
<p style="text-align:left;"><strong><span style="color:#0000ff;">faceField.as</span></strong></p>
<p style="text-align:left;">Esta classe não existe mistério nenhum, seu construtor recebe um numero como parâmetro e se for 1 desenha o vetor map1 e se for outro desenha o vetor map2. Em seguida percorre a seqüência de loops para desenhar o tile.</p>
<pre style="text-align:left;font-size:12px;"><span style="color:#99cc00;">package</span>
{
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.display.MvieClip</span>;
    <span style="color:#99cc00;">public class</span> faceField <span style="color:#99cc00;">extends </span><span style="color:#0000ff;">MovieClip</span>
    {
        <span style="color:#99cc00;">public var</span> map1:<span style="color:#0000ff;">Array </span>= [
        [1,1,1,1,1,1,1,1,1,1,1],
        [1,0,0,0,0,0,0,0,0,0,1],
        [1,0,0,0,0,1,0,0,0,0,1],
        [1,0,0,0,1,1,0,0,0,0,1],
        [1,0,0,0,0,1,0,0,0,0,1],
        [1,0,0,0,0,1,0,0,0,0,1],
        [1,0,0,0,0,1,0,0,0,0,1],
        [1,0,0,0,0,1,0,0,0,0,1],
        [1,0,0,0,1,1,1,0,0,0,1],
        [1,0,0,0,0,0,0,0,0,0,1],
        [1,1,1,1,1,1,1,1,1,1,1],
        ];</pre>
<pre style="text-align:left;font-size:12px;">        <span style="color:#99cc00;">public var</span> map2:<span style="color:#0000ff;">Array </span>= [
        [1,1,1,1,1,1,1,1,1,1,1],
        [1,0,0,0,0,0,0,0,0,0,1],
        [1,0,0,0,1,1,1,0,0,0,1],
        [1,0,0,1,0,0,0,1,0,0,1],
        [1,0,0,1,0,0,0,1,0,0,1],
        [1,0,0,0,0,0,1,0,0,0,1],
        [1,0,0,0,0,1,0,0,0,0,1],
        [1,0,0,0,1,0,0,0,0,0,1],
        [1,0,0,1,1,1,1,1,0,0,1],
        [1,0,0,0,0,0,0,0,0,0,1],
        [1,1,1,1,1,1,1,1,1,1,1],
        ];
       <span style="color:#99cc00;"> public function</span> faceField (n:<span style="color:#0000ff;">Number</span>)
        {
           <span style="color:#99cc00;"> for</span> (<span style="color:#99cc00;">var </span>j =0; j&lt;11; j++)
            {
                <span style="color:#99cc00;">for</span> (<span style="color:#99cc00;">var </span>i=0; i&lt;11; i++)
                {
                    <span style="color:#99cc00;">var </span>t:<span style="color:#0000ff;">MovieClip </span>= <span style="color:#99cc00;">new </span>obTile();
                    <span style="color:#0000ff;">addChild </span>(t);
                    t.<span style="color:#0000ff;">x</span> = i * 20;
                    t.<span style="color:#0000ff;">y</span> = j * 20;
                    <span style="color:#99cc00;">if </span>(n==1)
                    {
                        t.<span style="color:#0000ff;">gotoAndStop</span>(map1[j][i]+1);
                    }
                    <span style="color:#99cc00;">else</span>
                    {
                        t.<span style="color:#0000ff;">gotoAndStop</span>(map2[j][i]+1);
                    }
                }
            }
        }
    }
 }</pre>
<p style="text-align:left;"><span style="color:#0000ff;"><strong>main.as</strong></span></p>
<p style="text-align:left;">Nossa classe principal não possui nenhum mistério, utilizamos a estrutura do tutorial papervision materiais.</p>
<p style="text-align:left;">Utilizamos apenas MovieMaterial para formação das faces do cubo, com a diferença apenas na maneira de que são chamadas desta apenas uma fogem do padrão.</p>
<pre style="text-align:left;font-size:12px;">    skinTile1.<span style="color:#0000ff;">gotoAndStop</span>(1);
    skinTile2.<span style="color:#0000ff;">gotoAndStop</span>(2);
    faceMovTile1 =  <span style="color:#99cc00;">new </span>MovieMaterial(skinTile1);
    faceMovTile2 =  <span style="color:#99cc00;">new </span>MovieMaterial(skinTile2);</pre>
<p style="text-align:left;">Apesar dos objetos terem sidos criados no começo da classe só neste ponto que instanciamos os objetos para se portar como material, desta maneira garante que os moviesclips vão estar em seus respectivos frames antes de instanciarmos os materiais.</p>
<pre style="text-align:left;font-size:12px;"><span style="color:#99cc00;">package</span>
{
 <span style="color:#808080;">   //flash</span>
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.display.Sprite</span>;
    <span style="color:#99cc00;">import </span><span style="color:#0000ff;">flash.display.MovieClip</span>;
<span style="color:#99cc00;">    import <span style="color:#0000ff;">flash.events.Event;</span></span>
 <span style="color:#808080;">   //papervision</span>
    <span style="color:#99cc00;">import </span>org.papervision3d.<span style="color:#0000ff;">scenes</span>.Scene3D;
    <span style="color:#99cc00;">import </span>org.papervision3d.view.Viewport3D;
    <span style="color:#99cc00;">import </span>org.papervision3d.<span style="color:#0000ff;">cameras</span>.Camera3D;
    <span style="color:#99cc00;">import </span>org.papervision3d.render.BasicRenderEngine;
<span style="color:#808080;">    //Material</span>
    <span style="color:#99cc00;">import </span>org.papervision3d.materials.<span style="color:#0000ff;">utils</span>.MaterialsList;
    <span style="color:#99cc00;">import </span>org.papervision3d.materials.MovieMaterial;
<span style="color:#808080;">    // objeto</span>
    <span style="color:#99cc00;">import </span>org.papervision3d.objects.primitives.Cube;</pre>
<pre style="text-align:left;font-size:12px;">    <span style="color:#99cc00;">public class</span> main <span style="color:#99cc00;">extends </span><span style="color:#0000ff;">Sprite</span>
    {
       <span style="color:#99cc00;"> public var</span> cena:Scene3D;
       <span style="color:#99cc00;"> public var</span> viewport:Viewport3D;
        <span style="color:#99cc00;">public var</span> camera:Camera3D;
        <span style="color:#99cc00;">public var</span> renderer:BasicRenderEngine;
<span style="color:#808080;">        //Material</span>
        <span style="color:#99cc00;">public var</span> skinMaterial1:<span style="color:#0000ff;">MovieClip </span>= <span style="color:#99cc00;">new </span>faceField(1);
        <span style="color:#99cc00;">public var</span> faceMov1:MovieMaterial = <span style="color:#99cc00;">new </span>MovieMaterial(skinMaterial1);</pre>
<pre style="text-align:left;font-size:12px;">        <span style="color:#99cc00;">public var</span> skinMaterial2:<span style="color:#0000ff;">MovieClip </span>= <span style="color:#99cc00;">new </span>faceField(2);
        <span style="color:#99cc00;">public var</span> faceMov2:MovieMaterial = <span style="color:#99cc00;">new </span>MovieMaterial(skinMaterial2);</pre>
<pre style="text-align:left;font-size:12px;">        <span style="color:#99cc00;">public var</span> skinTile1:<span style="color:#0000ff;">MovieClip </span>= <span style="color:#99cc00;">new </span>obTile();
        <span style="color:#99cc00;">public var</span> skinTile2:<span style="color:#0000ff;">MovieClip </span>= <span style="color:#99cc00;">new </span>obTile();
       <span style="color:#99cc00;"> public var</span> faceMovTile1:MovieMaterial;
        <span style="color:#99cc00;">public var</span> faceMovTile2:MovieMaterial;</pre>
<pre style="text-align:left;font-size:12px;"> <span style="color:#808080;">       //objetos Primitivos</span>
        <span style="color:#99cc00;">public var</span> obCube:Cube;</pre>
<pre style="text-align:left;font-size:12px;">        <span style="color:#99cc00;">public function</span> main ()
        {
            Set ();
            Objetos ();
        }
        <span style="color:#99cc00;">public function</span> Set ():<span style="color:#99cc00;">void</span>
        {
            viewport = <span style="color:#99cc00;">new </span>Viewport3D(400,300,<span style="color:#0000ff;">true</span>,<span style="color:#0000ff;">false</span>,<span style="color:#0000ff;">true</span>,<span style="color:#0000ff;">true</span>);
            addChild (viewport);
            cena = <span style="color:#99cc00;">new </span>Scene3D ;
            renderer = <span style="color:#99cc00;">new </span>BasicRenderEngine ;
            camera = <span style="color:#99cc00;">new </span>Camera3D ;
            camera.<span style="color:#0000ff;">focus </span>= 600;
            camera.<span style="color:#0000ff;">zoom </span>= 1;
        }
        <span style="color:#99cc00;">public function</span> Objetos ():<span style="color:#99cc00;">void</span>
        {
            skinTile1.<span style="color:#0000ff;">gotoAndStop</span>(1);
            skinTile2.<span style="color:#0000ff;">gotoAndStop</span>(2);
            faceMovTile1 =  <span style="color:#99cc00;">new </span>MovieMaterial(skinTile1);
            faceMovTile2 =  <span style="color:#99cc00;">new </span>MovieMaterial(skinTile2);</pre>
<pre style="text-align:left;font-size:12px;">  <span style="color:#808080;">          //Cube</span>
            obCube = <span style="color:#99cc00;">new </span>Cube(
                <span style="color:#99cc00;">new </span>MaterialsList(
                {front: faceMov1,
                 back: faceMov1,
                 left: faceMovTile1,
                 right: faceMovTile2,
                 top: faceMov2,
                 bottom: faceMov2}
                )
            ,220,220,220,1,1,1);
            cena.<span style="color:#0000ff;">addChild </span>(obCube);</pre>
<pre style="text-align:left;font-size:12px;">            <span style="color:#0000ff;">addEventListener </span>(<span style="color:#0000ff;">Event.ENTER_FRAME</span>,Loop,<span style="color:#0000ff;">false</span>, 0, <span style="color:#0000ff;">true</span>);
        }
        <span style="color:#99cc00;">public function</span> Loop (e:<span style="color:#0000ff;">Event</span>):<span style="color:#99cc00;">void</span>
        {
            obCube.yaw (-4);
            obCube.pitch (-2);
            renderer.renderScene (cena,camera,viewport);
        }
    }
}</pre>
<p style="text-align:left;">Espero que tenham gostado do tutorial, apesar de MovieMaterial ser uma textura bem útil não devemos esquecer das outras texturas, é sempre bom usar a textura certa para cada momento assim deixa o programa mais leve. Ao que parece vocês já devem estar enjoados de exemplos com cubo, por isso tentarei mudar um pouco de objeto para o próximo tutorial, estou dando uma olhada em coisas interessantes com o objeto “Plane” quem sabe ele não vira tema do nosso próximo tutorial de papervision. Obrigado pela visita e volte sempre.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hamistertower.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hamistertower.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hamistertower.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hamistertower.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hamistertower.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hamistertower.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hamistertower.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hamistertower.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hamistertower.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hamistertower.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hamistertower.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hamistertower.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hamistertower.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hamistertower.wordpress.com/531/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hamistertower.wordpress.com&amp;blog=1511955&amp;post=531&amp;subd=hamistertower&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hamistertower.wordpress.com/2009/05/04/papervision-moviematerial/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d2e1b25da9105d36b5ebcf0e1bd43c8a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Setzer Wolf</media:title>
		</media:content>

		<media:content url="../files/2009/05/moviematerial.png" medium="image">
			<media:title type="html">moviematerial</media:title>
		</media:content>

		<media:content url="../files/2009/05/obtile.png" medium="image">
			<media:title type="html">obtile</media:title>
		</media:content>
	</item>
	</channel>
</rss>
