<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tolstenko &#187; game programming</title>
	<atom:link href="http://tolstenko.net/tag/game-programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://tolstenko.net</link>
	<description>Sobre computação e o mundo</description>
	<lastBuildDate>Sat, 15 May 2010 22:04:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Carregamento de mapas em games: Quadtree e Octatree (Octree)</title>
		<link>http://tolstenko.net/2009/11/21/carregamento-de-mapas-em-games-quadtree-e-octatree/</link>
		<comments>http://tolstenko.net/2009/11/21/carregamento-de-mapas-em-games-quadtree-e-octatree/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 00:57:13 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[F 313]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[applet]]></category>
		<category><![CDATA[árvore]]></category>
		<category><![CDATA[bsp]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[carregamento]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[estrutura de dados]]></category>
		<category><![CDATA[fenando lucchesi]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[game programming]]></category>
		<category><![CDATA[ian liu]]></category>
		<category><![CDATA[mapas]]></category>
		<category><![CDATA[octatree]]></category>
		<category><![CDATA[octree]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[quadtree]]></category>
		<category><![CDATA[tree]]></category>

		<guid isPermaLink="false">http://tolstenko.net/?p=362</guid>
		<description><![CDATA[<a href="http://tolstenko.net/2009/11/21/carregamento-de-mapas-em-games-quadtree-e-octatree/"><img align="left" hspace="5" width="150" height="150" src="http://tolstenko.net/wp-content/uploads/2009/11/380px-Quad_tree_bitmap.svg_-150x150.png" class="alignleft wp-post-image tfe" alt="380px-Quad_tree_bitmap.svg" title="380px-Quad_tree_bitmap.svg" /></a><p>Existe um grande problema na área de games que é o carregamento de mapas. Uma das soluções mais utilizadas  é utilizar estruturas quadtrees para games 2D e octatrees para games 3D.</p>
<p>Quadtree é um tipo de estrutura na qual tem-se um nó raiz(quadrado maior) que se abre em 4 filhos, aonde cada filho será responsável por [...]]]></description>
			<content:encoded><![CDATA[<p>Existe um grande problema na área de games que é o carregamento de mapas. Uma das soluções mais utilizadas  é utilizar estruturas quadtrees para games 2D e octatrees para games 3D.</p>
<p>Quadtree é um tipo de estrutura na qual tem-se um nó raiz(quadrado maior) que se abre em 4 filhos, aonde cada filho será responsável por um quadrante do quadrado repesentado pelo nó pai.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-365" title="380px-Quad_tree_bitmap.svg" src="http://tolstenko.net/wp-content/uploads/2009/11/380px-Quad_tree_bitmap.svg_.png" alt="380px-Quad_tree_bitmap.svg" width="380" height="156" /></p>
<p>De maneira análoga, o octatree é uma estrutura na qual se tem um nó raiz(cubo maior) que se abre em 8 filhos, aonde cada filho será responsável por um octante do cubo representado pelo nó pai.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-366" title="400px-Octree2" src="http://tolstenko.net/wp-content/uploads/2009/11/400px-Octree2.png" alt="400px-Octree2" width="400" height="230" /></p>
<p>Agora vamos aos exemplos práticos:</p>
<p><span id="more-362"></span></p>
<p>Para exemplificar o Quadtree, encontrei neste <a href="http://www.cs.utah.edu/~croberts/courses/cs7962/project/index.html">site</a> um applet exemplificando o quadtree, o mesmo segue logo abaixo. Para adicionar pontos na estrutura, clique no quadrado, para visualizar a estrutura da árvore clique em show tree.</p>
<p><APPLET archive="/wp-content/uploads/2009/11/QTApplet.jar" code="QTApplet" width=700 height=600><br />
Your browser does not support Java, so nothing is displayed.<br />
</APPLET></p>
<p>Para exemplificar uma octree, não encontrei nenhum applet, mas encontrei uma outra estrutura de dados para mapas 3D: <a href="http://en.wikipedia.org/wiki/Binary_space_partitioning" target="_blank">BSP</a>. Para usar o exemplo abaixo, basta utilizar o primeiro quadrado. Dentro dele, para desenhar uma parede no mapa, clique e arraste com o botão direito. Para mover a camera clique com o botão esquerdo no ponto vermelho e arraste. Os demais campos são representações do mapa.</p>
<p><applet archive="/wp-content/uploads/2009/11/BSPTreeDemo.jar" code="BSPTreeDemo.class" width="424" height="576"><br />
Your browser does not support Java, so nothing is displayed.<br />
</APPLET></p>
<p>Nesta sexta-feira(20/11/2009) tentamos implementar árvores quadtree.</p>
<ul>
<li>Eu fiz um exemplo em C# e com XNA:
<ul>
<li><a href="/wp-content/uploads/2009/11/XnaQuadtreeSource.rar" target="_blank">Codigo-Fonte</a> (necessita do <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53867a2a-e249-4560-8011-98eb3e799ef2" target="_blank">XNA framework 3.1</a> e <a href="http://www.microsoft.com/express/vcsharp/" target="_blank">Visual Studio C# 2008</a>)</li>
<li><a href="/wp-content/uploads/2009/11/XnaQuadtreeBin.rar" target="_blank">Executavel </a>(necessita do <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53867a2a-e249-4560-8011-98eb3e799ef2" target="_blank">XNA 3.1 Redistributable</a> e <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6" target="_blank">.NET 3.5</a>)</li>
</ul>
</li>
<li>Ian Liu juntamente com o Fenando Lucchesi implementaram em Python com Pygame
<ul>
<li><a href="/wp-content/uploads/2009/11/PythonQuadtreesSrc.zip" target="_blank">Código-Fonte</a> (necessita do<a href="http://www.python.org/download/" target="_blank"> Pyhon</a> e do <a href="http://www.pygame.org/download.shtml" target="_blank">Pygame</a>)</li>
</ul>
</li>
</ul>
<p>Espero que tenham gostado, qualquer dúvida, entre em contato.</p>
]]></content:encoded>
			<wfw:commentRss>http://tolstenko.net/2009/11/21/carregamento-de-mapas-em-games-quadtree-e-octatree/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Physaxe &#8211; Engine física para flash</title>
		<link>http://tolstenko.net/2009/11/14/physaxe-engine-fisica-para-flash/</link>
		<comments>http://tolstenko.net/2009/11/14/physaxe-engine-fisica-para-flash/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 12:14:10 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Engine]]></category>
		<category><![CDATA[engine fisica]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[game engine]]></category>
		<category><![CDATA[game programming]]></category>
		<category><![CDATA[haxe]]></category>
		<category><![CDATA[jogos]]></category>
		<category><![CDATA[physaxe]]></category>
		<category><![CDATA[Physics engine]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[swf]]></category>

		<guid isPermaLink="false">http://tolstenko.net/?p=348</guid>
		<description><![CDATA[<a href="http://tolstenko.net/2009/11/14/physaxe-engine-fisica-para-flash/"><img align="left" hspace="5" width="150" height="150" src="http://tolstenko.net/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>Um colega meu, &#8220;Ian Liu&#8221; do grupo de jogos me apresentou uma engine fisica 2D em flash para haXe: Physaxe. A proposta dele é que o grupo destinado a pesquisar desenvolvimento de jogos em 2D busque soluções que incorporem coisas assim.</p>
<p>Parafraseando o próprio autor: &#8220;Um demo vale mais que 1000 palavras&#8221;.</p>
<p>Aqui em baixo, você pode [...]]]></description>
			<content:encoded><![CDATA[<p>Um colega meu, &#8220;Ian Liu&#8221; do grupo de jogos me apresentou uma engine fisica 2D em flash para haXe: <a href="http://code.google.com/p/physaxe/" target="_blank">Physaxe</a>. A proposta dele é que o grupo destinado a pesquisar desenvolvimento de jogos em 2D busque soluções que incorporem coisas assim.</p>
<p>Parafraseando o próprio autor: &#8220;Um demo vale mais que 1000 palavras&#8221;.</p>
<p>Aqui em baixo, você pode testar um demo usando a tal engine: <strong>Use</strong> <strong>as teclas 1-8 para alterar o demo </strong>e <strong>clique</strong> em algum lugar do objeto abaixo para atirar blocos.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="580" height="480" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="/dados/Flash/phxdemo.swf" /><embed type="application/x-shockwave-flash" width="580" height="480" src="/dados/Flash/phxdemo.swf"></embed></object></p>
<p style="text-align: justify;">(Para saber mais sobre o sistema, clique no link &#8220;Continue lendo&#8230;&#8221;)</p>
<p style="text-align: justify;"><span id="more-348"></span></p>
<p style="text-align: justify;">O interessante é q o binário gerado aqui é de apenas 28KB. Minúsculo e bem otimizado.</p>
<p style="text-align: justify;">Para quese possa ver o consumo da CPU, aperte a tecla <strong>D</strong> para parar de desenhar e verifique no gerenciador de recursos do seu sistema operacional, o consumo do game funcionando e sem funcionar.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Outro exemplo interessante que vem com o código fonte é esse de gravidade:</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="/dados/Flash/phx_box.swf" /><embed type="application/x-shockwave-flash" width="450" height="450" src="/dados/Flash/phx_box.swf"></embed></object></p>
<p style="text-align: justify;">Para rodar esse demo, faça isso:</p>
<ul>
<li>Instale <a href="http://haxe.org/">haXe</a></li>
<li>Execute o comando <code>haxelib install physaxe</code> para instalar a biblioteca do Physaxe.</li>
<li>Copie e cole o código <code>Test.hx</code></li>
<li>Excecute: <code>haxe -swf9 test.swf -main Test -lib physaxe</code> para compilar</li>
<li>Boa diversão!</li>
</ul>
<p>Codigo:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Test <span style="color: #66cc66;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> root : flash.<span style="color: #006600;">display</span>.<span style="color: #0066CC;">MovieClip</span>;
    <span style="color: #000000; font-weight: bold;">var</span> world : phx.<span style="color: #006600;">World</span>;
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #000000; font-weight: bold;">new</span><span style="color: #66cc66;">&#40;</span>root<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #0066CC;">this</span>.<span style="color: #006600;">root</span> = root;
        <span style="color: #000000; font-weight: bold;">var</span> w = root.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span>;
        <span style="color: #000000; font-weight: bold;">var</span> h = root.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span>;
        world = <span style="color: #000000; font-weight: bold;">new</span> phx.<span style="color: #006600;">World</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> phx.<span style="color: #006600;">col</span>.<span style="color: #006600;">AABB</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,w,h<span style="color: #66cc66;">&#41;</span>,<span style="color: #000000; font-weight: bold;">new</span> phx.<span style="color: #006600;">col</span>.<span style="color: #006600;">SortedList</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #000000; font-weight: bold;">var</span> p0 = phx.<span style="color: #006600;">Const</span>.<span style="color: #006600;">DEFAULT_PROPERTIES</span>;
        p0.<span style="color: #006600;">biasCoef</span> = <span style="color: #cc66cc;">0.3</span>;
        p0.<span style="color: #006600;">maxDist</span> = <span style="color: #cc66cc;">2</span>;
        world.<span style="color: #006600;">sleepEpsilon</span> = <span style="color: #cc66cc;">0</span>; <span style="color: #808080; font-style: italic;">// no sleep (gravity can change anytime)</span>
        <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">floor</span> = <span style="color: #000000; font-weight: bold;">new</span> phx.<span style="color: #006600;">Body</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #0066CC;">floor</span>.<span style="color: #006600;">addShape</span><span style="color: #66cc66;">&#40;</span>phx.<span style="color: #006600;">Shape</span>.<span style="color: #006600;">makeBox</span><span style="color: #66cc66;">&#40;</span>w,<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #0066CC;">floor</span>.<span style="color: #006600;">addShape</span><span style="color: #66cc66;">&#40;</span>phx.<span style="color: #006600;">Shape</span>.<span style="color: #006600;">makeBox</span><span style="color: #66cc66;">&#40;</span>w,<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">0</span>,h-<span style="color: #cc66cc;">30</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #0066CC;">floor</span>.<span style="color: #006600;">addShape</span><span style="color: #66cc66;">&#40;</span>phx.<span style="color: #006600;">Shape</span>.<span style="color: #006600;">makeBox</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">30</span>,h,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #0066CC;">floor</span>.<span style="color: #006600;">addShape</span><span style="color: #66cc66;">&#40;</span>phx.<span style="color: #006600;">Shape</span>.<span style="color: #006600;">makeBox</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">30</span>,h,w-<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #0066CC;">floor</span>.<span style="color: #006600;">isStatic</span> = <span style="color: #000000; font-weight: bold;">true</span>;
        world.<span style="color: #006600;">addBody</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">floor</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #000000; font-weight: bold;">var</span> mat = <span style="color: #000000; font-weight: bold;">new</span> phx.<span style="color: #006600;">Material</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0.3</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span> i <span style="color: #b1b100;">in</span> 0...100 <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">var</span> points = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">size</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span> + Std.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">20</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">0.7</span>;
            <span style="color: #000000; font-weight: bold;">var</span> a = <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">*</span> <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">PI</span>;
            <span style="color: #b1b100;">do</span> <span style="color: #66cc66;">&#123;</span>
                points.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> phx.<span style="color: #006600;">Vector</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">cos</span><span style="color: #66cc66;">&#40;</span>a<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #0066CC;">size</span>,<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">sin</span><span style="color: #66cc66;">&#40;</span>a<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #0066CC;">size</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
                a -= <span style="color: #66cc66;">&#40;</span>Std.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">20</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">0.1</span>;
            <span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">while</span><span style="color: #66cc66;">&#40;</span> a <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">var</span> shape = <span style="color: #000000; font-weight: bold;">new</span> phx.<span style="color: #006600;">Body</span><span style="color: #66cc66;">&#40;</span>Std.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span>w - <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">50</span>,Std.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span>h - <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">50</span><span style="color: #66cc66;">&#41;</span>;
            shape.<span style="color: #006600;">addShape</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> phx.<span style="color: #006600;">Polygon</span><span style="color: #66cc66;">&#40;</span>points,<span style="color: #000000; font-weight: bold;">new</span> phx.<span style="color: #006600;">Vector</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>,mat<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
            world.<span style="color: #006600;">addBody</span><span style="color: #66cc66;">&#40;</span>shape<span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> update<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">var</span> w = root.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span>;
        <span style="color: #000000; font-weight: bold;">var</span> h = root.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span>;
        <span style="color: #000000; font-weight: bold;">var</span> xf = <span style="color: #66cc66;">&#40;</span>root.<span style="color: #006600;">mouseX</span> <span style="color: #66cc66;">/</span> w<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">2</span> - <span style="color: #cc66cc;">1</span>;
        <span style="color: #000000; font-weight: bold;">var</span> yf = <span style="color: #66cc66;">&#40;</span>root.<span style="color: #006600;">mouseY</span> <span style="color: #66cc66;">/</span> h<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">2</span> - <span style="color: #cc66cc;">1</span>;
        world.<span style="color: #006600;">gravity</span>.<span style="color: #006600;">x</span> = xf <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">0.5</span>;
        world.<span style="color: #006600;">gravity</span>.<span style="color: #006600;">y</span> = yf <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">0.5</span>;
        world.<span style="color: #006600;">step</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1.0</span>,<span style="color: #cc66cc;">20</span><span style="color: #66cc66;">&#41;</span>;
        root.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">clear</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #000000; font-weight: bold;">var</span> d = <span style="color: #000000; font-weight: bold;">new</span> phx.<span style="color: #006600;">FlashDraw</span><span style="color: #66cc66;">&#40;</span>root.<span style="color: #006600;">graphics</span><span style="color: #66cc66;">&#41;</span>;
        d.<span style="color: #006600;">shape</span>.<span style="color: #006600;">lineSize</span> = <span style="color: #cc66cc;">0.5</span>;
        d.<span style="color: #006600;">staticShape</span>.<span style="color: #006600;">line</span> = <span style="color: #000000; font-weight: bold;">null</span>;
        d.<span style="color: #006600;">drawWorld</span><span style="color: #66cc66;">&#40;</span>world<span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    <span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">var</span> mc = flash.<span style="color: #006600;">Lib</span>.<span style="color: #006600;">current</span>;
        <span style="color: #000000; font-weight: bold;">var</span> t = <span style="color: #000000; font-weight: bold;">new</span> Test<span style="color: #66cc66;">&#40;</span>mc<span style="color: #66cc66;">&#41;</span>;
        mc.<span style="color: #0066CC;">stage</span>.<span style="color: #0066CC;">quality</span> = flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">StageQuality</span>.<span style="color: #006600;">MEDIUM</span>;
        mc.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>.<span style="color: #006600;">ENTER_FRAME</span>,<span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>_<span style="color: #66cc66;">&#41;</span> t.<span style="color: #006600;">update</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://tolstenko.net/2009/11/14/physaxe-engine-fisica-para-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compilando o Ogre3D a partir do SVN</title>
		<link>http://tolstenko.net/2009/11/02/compilando-o-ogre3d-a-partir-do-svn/</link>
		<comments>http://tolstenko.net/2009/11/02/compilando-o-ogre3d-a-partir-do-svn/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 14:51:27 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[Ogre3D]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[cmake]]></category>
		<category><![CDATA[compilando]]></category>
		<category><![CDATA[compilar]]></category>
		<category><![CDATA[directx]]></category>
		<category><![CDATA[directx sdk]]></category>
		<category><![CDATA[Eihort]]></category>
		<category><![CDATA[game programming]]></category>
		<category><![CDATA[OGRE]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[threads]]></category>
		<category><![CDATA[timedate]]></category>
		<category><![CDATA[tortoise]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://tolstenko.net/?p=339</guid>
		<description><![CDATA[<a href="http://tolstenko.net/2009/11/02/compilando-o-ogre3d-a-partir-do-svn/"><img align="left" hspace="5" width="150" src="http://tolstenko.net/wp-content/uploads/2009/11/site_logo.gif" class="alignleft wp-post-image tfe" alt="Ogre_logo" title="Ogre_logo" /></a><p></p>
<p>Para nosso desenvolvimento de games, utilizaremos a versão mais atual do Ogre, e para tal, precisaremos compilar o Ogre3D a partir do seu repositório SVN.</p>
<p></p>
<p>(Este passo-a-passo é voltado para os usuários windows)</p>
<p>Para tanto, utilizaremos:</p>

Um programa que vai sincronizar os arquivos-fonte do Ogre3D:

Tortoise SVN: http://tortoisesvn.net/downloads
Baixe e instale para sua arquitetura (32bits ou 64bits)


Os arquivos-fonte do SVN [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/2009/11/02/compilando-o-ogre3d-a-partir-do-svn/#more-339"><img class="aligncenter size-full wp-image-340" title="Ogre_logo" src="http://tolstenko.net/wp-content/uploads/2009/11/site_logo.gif" alt="Ogre_logo" width="239" height="77" /></a></p>
<p>Para nosso desenvolvimento de games, utilizaremos a versão mais atual do Ogre, e para tal, precisaremos compilar o Ogre3D a partir do seu repositório SVN.</p>
<p><span id="more-339"></span></p>
<p>(Este passo-a-passo é voltado para os usuários windows)</p>
<p>Para tanto, utilizaremos:</p>
<ul>
<li>Um programa que vai sincronizar os arquivos-fonte do Ogre3D:
<ul>
<li>Tortoise SVN: <a href="http://tortoisesvn.net/downloads" target="_blank">http://tortoisesvn.net/downloads</a></li>
<li>Baixe e instale para sua arquitetura (32bits ou 64bits)</li>
</ul>
</li>
<li>Os arquivos-fonte do SVN do Ogre3D, para tanto:
<ul>
<li>Precisaremos fazer svn-checkout de <a href="https://svn.ogre3d.org/svnroot/ogre/trunk" target="_blank">https://svn.ogre3d.org/svnroot/ogre/trunk</a></li>
<li>Logo abaixo explicarei melhor em qual pasta colocar, e outros detalhes: não faça agora.</li>
<li>Caso esteja com duvidas de como proceder nesse passo, veja o tutorial de como utilizar SVN.</li>
</ul>
</li>
<li>Precisamos das dependências do Ogre (Eihort), tais como tinyxml, ois, e outras. Baixe a mais atual:
<ul>
<li>Ogre Dependencies: <a href="http://www.ogre3d.org/download/source" target="_blank">http://www.ogre3d.org/download/source</a> ou <a href="http://sourceforge.net/projects/ogre/files/" target="_blank">http://sourceforge.net/projects/ogre/files/</a> (VS C++ 2008)</li>
</ul>
<ul>
<li>Apenas baixe o zip.</li>
</ul>
</li>
<li>Precisaremos de uma biblioteca de Threads, a utilizada é a Boost.
<ul>
<li>BoostPRO: <a href="http://www.boostpro.com/download" target="_blank">http://www.boostpro.com/download</a></li>
<li>Baixe e instale.cmake</li>
</ul>
<ul>
<li>Ao instalar esse daqui, selecione a opção BoostDateTime e BoostThreads além das normais para o VS C++ 2008. Opcionalmente, instale as bibliotecas de threads que desejar.</li>
</ul>
</li>
<li>Os binários do Directx para desenvolvedores
<ul>
<li>DirectXSDK: <a href="http://msdn.microsoft.com/en-us/directx/aa937788.aspx" target="_blank">http://msdn.microsoft.com/en-us/directx/aa937788.aspx</a></li>
<li>Baixe e instale caso queira utilizar o renderizador para Directx (Pode-se utilizar apenas no OpenGL, se quiser).</li>
</ul>
</li>
<li>Precisamos de um compilador:
<ul>
<li>Visual Studio (Express C++ ou Professional): <a href="http://www.microsoft.com/Express/VC/" target="_blank">http://www.microsoft.com/Express/VC/</a></li>
<li>Baixe e instale.</li>
</ul>
</li>
<li>Precisaremos de um programa que configure nossas variáveis de compilação:
<ul>
<li>Cmake: <a href="http://www.cmake.org/" target="_blank">http://www.cmake.org/</a></li>
<li>Baixe e instale.</li>
</ul>
</li>
<li>Opcionalmente instale:
<ul>
<li>POCO framework <a href="http://pocoproject.org/" target="_blank">http://pocoproject.org/</a></li>
<li>tbb: Threading Building Blocks <a href="http://www.threadingbuildingblocks.org/" target="_blank">http://www.threadingbuildingblocks.org/</a></li>
<li>Doxygen: Tool for building API documentation <a href="http://doxygen.org/" target="_blank">http://doxygen.org</a></li>
<li>CppUnit: Library for performing unit tests <a href="http://cppunit.sourceforge.net/" target="_blank">http://cppunit.sourceforge.net</a></li>
</ul>
</li>
</ul>
<p>Após esse processo de baixar programas, e instalar coisas, faça o seguinte processo, sugerido pelo <a href="http://blog.tidalware.com/2009/08/building-ogre-trunk-1-7/" target="_blank">http://blog.tidalware.com/2009/08/building-ogre-trunk-1-7/</a> (tomei liberdade de alterar para nosso padrão):</p>
<ol>
<li>Crie a pasta: “C:\OgreSVN” e faça um checkout de <a href="https://svn.ogre3d.org/svnroot/ogre/trunk" target="_blank">https://svn.ogre3d.org/svnroot/ogre/trunk</a> nessa pasta;</li>
<li>Descompacte as duas pastas do “Ogre Dependencies”: Dependencies e Samples para a a pasta “C:\OgreSVN”, meclando o conteúdo das mesmas se necessário;</li>
<li>Execute o CMake-Gui (deve estar na seu botão iniciar). Preencha “Where is the source code:” com “C:/OgreSVN” e “Where to build the binaries” com “C:/OgreSVN/build”;</li>
<li>Clique em “Configure” e selecione o seu compilador (no nosso caso, será o Visual Studio 9 2008);</li>
<li>Aparecerá uma lista de opções e flags, eu prefiro desabilitar o BUILD_RENDESYSTEM_D3D10, pois não possuo, gosto de habilitar a flagOGRE_BUILD_COMPONENT_RTSHADERSYSTEM. Caso tenha instalado a biblioteca Boost, habilite a flag OGRE_USE_BOOST;</li>
<li>Clique novamente em “Configure”, e depois em “Generate”;</li>
</ol>
<p>Caso tenha seguido feito tudo assim como falei, dentro da pasta “C:\OgreSVN\build” teremos o arquivo “OGRE.sln”. Abra ele e compile as versões “debug” e “release”, para modificar o modo de compilação, clique com o botão direito em algum projeto, depois em “Property”, depois no botão “Configuration Manager, mude o “Active Solution&#8221;.</p>
<p><span style="text-decoration: underline;">Se tiver alguma dúvida, pergunte!</span></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves></w> <w:TrackFormatting></w> <w:HyphenationZone>21</w:HyphenationZone> <w:PunctuationKerning></w> <w:ValidateAgainstSchemas></w> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF></w> <w:LidThemeOther>PT-BR</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables></w> <w:SnapToGridInCell></w> <w:WrapTextWithPunct></w> <w:UseAsianBreakRules></w> <w:DontGrowAutofit></w> <w:SplitPgBreakAndParaMark></w> <w:DontVertAlignCellWithSp></w> <w:DontBreakConstrainedForcedTables></w> <w:DontVertAlignInTxbx></w> <w:Word11KerningPairs></w> <w:CachedColBalance></w> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math"></m> <m:brkBin m:val="before"></m> <m:brkBinSub m:val="&#45;-"></m> <m:smallFrac m:val="off"></m> <m:dispDef></m> <m:lMargin m:val="0"></m> <m:rMargin m:val="0"></m> <m:defJc m:val="centerGroup"></m> <m:wrapIndent m:val="1440"></m> <m:intLim m:val="subSup"></m> <m:naryLim m:val="undOvr"></m> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal"></w> <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1"></w> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"></w> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"></w> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"></w> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"></w> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"></w> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"></w> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"></w> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"></w> <w:LsdException Locked="false" Priority="39" Name="toc 1"></w> <w:LsdException Locked="false" Priority="39" Name="toc 2"></w> <w:LsdException Locked="false" Priority="39" Name="toc 3"></w> <w:LsdException Locked="false" Priority="39" Name="toc 4"></w> <w:LsdException Locked="false" Priority="39" Name="toc 5"></w> <w:LsdException Locked="false" Priority="39" Name="toc 6"></w> <w:LsdException Locked="false" Priority="39" Name="toc 7"></w> <w:LsdException Locked="false" Priority="39" Name="toc 8"></w> <w:LsdException Locked="false" Priority="39" Name="toc 9"></w> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"></w> <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title"></w> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"></w> <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle"></w> <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong"></w> <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis"></w> <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid"></w> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"></w> <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing"></w> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading"></w> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List"></w> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid"></w> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1"></w> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2"></w> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1"></w> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2"></w> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1"></w> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2"></w> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3"></w> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List"></w> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading"></w> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List"></w> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid"></w> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1"></w> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1"></w> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1"></w> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"></w> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"></w> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1"></w> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"></w> <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"></w> <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote"></w> <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"></w> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1"></w> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"></w> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"></w> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"></w> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1"></w> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1"></w> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1"></w> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1"></w> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2"></w> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2"></w> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2"></w> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"></w> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"></w> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2"></w> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2"></w> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"></w> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"></w> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"></w> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2"></w> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2"></w> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2"></w> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2"></w> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3"></w> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3"></w> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3"></w> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"></w> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"></w> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3"></w> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3"></w> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"></w> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"></w> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"></w> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3"></w> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3"></w> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3"></w> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3"></w> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4"></w> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4"></w> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4"></w> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"></w> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"></w> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4"></w> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4"></w> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"></w> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"></w> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"></w> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4"></w> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4"></w> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4"></w> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4"></w> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5"></w> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5"></w> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5"></w> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"></w> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"></w> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5"></w> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5"></w> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"></w> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"></w> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"></w> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5"></w> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5"></w> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5"></w> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5"></w> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6"></w> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6"></w> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6"></w> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"></w> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"></w> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6"></w> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6"></w> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"></w> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"></w> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"></w> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6"></w> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6"></w> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6"></w> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6"></w> <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"></w> <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"></w> <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"></w> <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"></w> <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title"></w> <w:LsdException Locked="false" Priority="37" Name="Bibliography"></w> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"></w> </w:LatentStyles> </xml><![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-520092929 1073786111 9 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} a:link, span.MsoHyperlink 	{mso-style-priority:99; 	color:blue; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{mso-style-noshow:yes; 	mso-style-priority:99; 	color:purple; 	mso-themecolor:followedhyperlink; 	text-decoration:underline; 	text-underline:single;} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:36.0pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:36.0pt; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:36.0pt; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:36.0pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:577598402; 	mso-list-type:hybrid; 	mso-list-template-ids:1395403974 68550657 68550659 68550661 68550657 68550659 68550661 68550657 68550659 68550661;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l0:level2 	{mso-level-number-format:bullet; 	mso-level-text:o; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:"Courier New";} @list l0:level3 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Wingdings;} @list l1 	{mso-list-id:656348147; 	mso-list-type:hybrid; 	mso-list-template-ids:778076478 68550671 68550681 68550683 68550671 68550681 68550683 68550671 68550681 68550683;} @list l1:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} -->&lt;!&#8211;[if gte mso 10]&gt; <!--  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} --> <!--[endif]--></p>
<p class="MsoNormal" style="text-align: justify;">Para nosso desenvolvimento de games, utilizaremos a versão mais atual do Ogre, e para tal, precisaremos compilar o Ogre3D a partir do seu repositório SVN.</p>
<p class="MsoNormal" style="text-align: justify;">Para tanto, utilizaremos:</p>
<p class="MsoListParagraphCxSpFirst" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Um programa que vai sincronizar os arquivos-fonte do Ogre3D:</p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Tortoise SVN: <a href="http://tortoisesvn.net/downloads">http://tortoisesvn.net/downloads</a></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Baixe e instale para sua arquitetura (32bits ou 64bits)</p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Os arquivos-fonte do SVN do Ogre3D, para tanto:</p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Precisaremos fazer svn-checkout de <a href="https://svn.ogre3d.org/svnroot/ogre/trunk">https://svn.ogre3d.org/svnroot/ogre/trunk</a></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Logo abaixo explicarei melhor em qual pasta colocar, e outros detalhes: não faça agora.</p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Caso esteja com duvidas de como proceder nesse passo, veja o tutorial de como utilizar SVN.</p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Precisamos das dependências do Ogre, tais como tinyxml, ois, e outras. Baixe a mais atual:</p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Ogre Dependencies: <a href="http://www.ogre3d.org/download/source">http://www.ogre3d.org/download/source</a> ou <a href="http://sourceforge.net/projects/ogre/files/">http://sourceforge.net/projects/ogre/files/</a> (VS C++ 2008)</p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Apenas baixe o zip.</p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Precisaremos de uma biblioteca de Threads, a utilizada é a Boost.</p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;" lang="EN-US"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span lang="EN-US">BoostPRO: </span><a href="http://www.boostpro.com/download"><span lang="EN-US">http://www.boostpro.com/download</span></a><span> <span lang="EN-US"> </span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Baixe e instale.</p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Ao instalar esse daqui, selecione a opção BosstDateTime e BoostThreads além das normais para o VS C++ 2008. Opcionalmente, instale as bibliotecas de threads que desejar.</p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Os binários do Directx para desenvolvedores:</p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->DirectXSDK: <a href="http://msdn.microsoft.com/en-us/directx/aa937788.aspx">http://msdn.microsoft.com/en-us/directx/aa937788.aspx</a></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Baixe e instale caso queira utilizar o renderizador para Directx (Pode-se utilizar apenas no OpenGL, se quiser).</p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Precisamos de um compilador:</p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Visual Studio (Express C++ ou Professional): <a href="http://www.microsoft.com/Express/VC/">http://www.microsoft.com/Express/VC/</a></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Baixe e instale.</p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Precisaremos de um programa que configure nossas variáveis de compilação:</p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;" lang="EN-US"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span lang="EN-US">Cmake: </span><a href="http://www.cmake.org/"><span lang="EN-US">http://www.cmake.org/</span></a></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;" lang="EN-US"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Baixe e instale.</p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: Symbol;" lang="EN-US"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span lang="EN-US">Opcionalmente instale:</span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->POCO framework <a href="http://pocoproject.org/">http://pocoproject.org/</a></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;" lang="EN-US"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span lang="EN-US">tbb: Threading Building Blocks </span><a href="http://www.threadingbuildingblocks.org/"><span lang="EN-US">http://www.threadingbuildingblocks.org/</span></a></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;" lang="EN-US"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span lang="EN-US">Doxygen: Tool for building API documentation </span><a href="http://doxygen.org/"><span lang="EN-US">http://doxygen.org</span></a></p>
<p class="MsoListParagraphCxSpLast" style="margin-left: 72pt; text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Courier New&quot;;" lang="EN-US"><span>o<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span lang="EN-US">CppUnit: Library for performing unit tests </span><a href="http://cppunit.sourceforge.net/"><span lang="EN-US">http://cppunit.sourceforge.net</span></a><span> </span></p>
<p class="MsoNormal" style="text-align: justify;">Após esse processo de baixar programas, e instalar coisas, faça o seguinte processo, sugerido pelo <a href="http://blog.tidalware.com/2009/08/building-ogre-trunk-1-7/">http://blog.tidalware.com/2009/08/building-ogre-trunk-1-7/</a> (tomei liberdade de alterar para nosso padrão):</p>
<p class="MsoListParagraphCxSpFirst" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span><span>1.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Crie a pasta: “C:\OgreSVN” e faça um checkout de <a href="https://svn.ogre3d.org/svnroot/ogre/trunk">https://svn.ogre3d.org/svnroot/ogre/trunk</a> nessa pasta;</p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span><span>2.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Descompacte as duas pastas do “Ogre Dependencies”: Dependencies e Samples para a a pasta “C:\OgreSVN”, meclando o conteúdo das mesmas se necessário;</p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span lang="EN-US"><span>3.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Execute o CMake-Gui (deve estar na seu botão iniciar). <span lang="EN-US">Preencha “Where is the source code:” com “C:/OgreSVN” e “Where to build the binaries” com “C:/OgreSVN/build”; </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span><span>4.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Clique em “Configure” e selecione o seu compilador (no nosso caso, será o Visual Studio 9 2008);</p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span><span>5.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Aparecerá uma lista de opções e flags, eu prefiro desabilitar o BUILD_RENDESYSTEM_D3D10, pois não possuo, gosto de habilitar a flagOGRE_BUILD_COMPONENT_RTSHADERSYSTEM. Caso tenha instalado a biblioteca Boost, habilite a flag OGRE_USE_BOOST;</p>
<p class="MsoListParagraphCxSpLast" style="text-align: justify; text-indent: -18pt;"><!--[if !supportLists]--><span><span>6.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->Clique novamente em “Configure”, e depois em “Generate”;</p>
<p><span style="font-size: 11pt; line-height: 115%; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">Caso tenha seguido feito tudo assim como falei, dentro da pasta “C:\OgreSVN\build” teremos o arquivo “OGRE.sln”. Abra ele e compile as versões “debug” e “release”, para modificar o modo de compilação, clique com o botão direito em algum projeto, depois em “Property”, depois no botão “Configuration Manager, mude o “Active Solution </span></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://tolstenko.net/2009/11/02/compilando-o-ogre3d-a-partir-do-svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Musicor</title>
		<link>http://tolstenko.net/2009/09/02/musicor/</link>
		<comments>http://tolstenko.net/2009/09/02/musicor/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 13:24:25 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[Musicor]]></category>
		<category><![CDATA[arena info]]></category>
		<category><![CDATA[arenainfo]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[game programming]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Gamux]]></category>
		<category><![CDATA[jogo]]></category>
		<category><![CDATA[jogos]]></category>
		<category><![CDATA[sbgames]]></category>
		<category><![CDATA[Unicamp]]></category>

		<guid isPermaLink="false">http://tolstenko.net/?p=327</guid>
		<description><![CDATA[<a href="http://tolstenko.net/2009/09/02/musicor/"><img align="left" hspace="5" width="150" height="150" src="http://tolstenko.net/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>Clique aqui para assistir o vídeo inserido.</p>
<p>Tenho o prazer de anunciar o primeiro beta do Musicor. Este vídeo mostra o GamePlay do jogo.</p>
<p>Musicor é um jogo com inspiração em Guitar Hero, Fretz on Fire, Rock Band e outros games baseados em musica e sincronia de movimentos. No musicor, o jogador terá uma experiência única na [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tolstenko.net/2009/09/02/musicor/"><em>Clique aqui para assistir o vídeo inserido.</em></a></p>
<p>Tenho o prazer de anunciar o primeiro beta do Musicor. Este vídeo mostra o GamePlay do jogo.</p>
<p>Musicor é um jogo com inspiração em Guitar Hero, Fretz on Fire, Rock Band e outros games baseados em musica e sincronia de movimentos. No musicor, o jogador terá uma experiência única na qual associará cores à notas musicais, tendo dessa maneira, uma gostosa sinestesia.</p>
<p>Nesta primeira versão beta, o jogador terá apenas uma música para tocar, porém as seguintes virão mais recheadas, abrangendo outros estilos e rimos.</p>
<p>Para baixar, temos as seguintes opções:</p>
<ul>
<li><a href="http://tolstenko.net/Games/Musicor/Musicor_WebInstall.zip">WebInstall</a> (zip)</li>
<li><a href="http://tolstenko.net/Games/Musicor/Musicor_WebInstall.exe">WebInstall</a> (exe)</li>
<li><a href="http://tolstenko.net/Games/Musicor/Musicor.zip">Instalação Offline</a> (zip)</li>
<li><a href="http://tolstenko.net/Games/Musicor/Musicor.exe">Instalação Offline</a> (exe)</li>
<li>Ou então visite: <a href="http://tolstenko.net/Games/Musicor/">http://tolstenko.net/Games/Musicor/</a> para ver as versões anteriores</li>
</ul>
<p>Integrantes:<br />
Alexandre Tolstenko, programador de motor de jogo e designer de conceito<br />
Bruno Aguiar de Melo, produtor e programador<br />
Mauro Cardoso Lopes, programador<br />
Shirley Paz, arte gráfica<br />
Thiago Santiago, programador do jogo e programador do motor de áudio</p>
<p>Espero que gostem. Postem seus comentários.</p>
]]></content:encoded>
			<wfw:commentRss>http://tolstenko.net/2009/09/02/musicor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projeto Cogito está de volta!</title>
		<link>http://tolstenko.net/2009/05/30/projeto-cogito-esta-de-volta/</link>
		<comments>http://tolstenko.net/2009/05/30/projeto-cogito-esta-de-volta/#comments</comments>
		<pubDate>Sat, 30 May 2009 20:01:29 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[Cogito]]></category>
		<category><![CDATA[documentação]]></category>
		<category><![CDATA[game programming]]></category>
		<category><![CDATA[Projeto Cogito]]></category>
		<category><![CDATA[redmine]]></category>

		<guid isPermaLink="false">http://tolstenko.net/?p=133</guid>
		<description><![CDATA[<a href="http://tolstenko.net/2009/05/30/projeto-cogito-esta-de-volta/"><img align="left" hspace="5" width="150" src="http://lh6.ggpht.com/_Akdkyiw_Mmo/SiGBoRAnNAI/AAAAAAAAABs/VOooiv4tePg/s144/Digitalizar0001.jpg" class="alignleft wp-post-image tfe" alt="Grito" title="" /></a><p style="text-align: center;"></p>
<p>Fiquei surpreso por receber uma ajuda inesperada. Ela é uma pessoa de outra cidade que gostou do meu trabalho. Espero poder fazer o jogo ir pra frente. Atualizarei, assim que possivel,  a documentação.</p>
<p>Links:</p>

Redmine do Projeto: http://cogito.tolstenko.net/ (Documentação sendo atualizada)
Picasa do Projeto: http://picasaweb.google.com.br/tolstenko.net/
StatSVN do Projeto: http://tolstenko.net/svn/cogito/ (Atualizado a cada hora cheia, 0:00, 1:00, 2:00 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://lh6.ggpht.com/_Akdkyiw_Mmo/SiGBoRAnNAI/AAAAAAAAABs/VOooiv4tePg/s144/Digitalizar0001.jpg" alt="Grito" width="200" height="222" /></p>
<p>Fiquei surpreso por receber uma ajuda inesperada. Ela é uma pessoa de outra cidade que gostou do meu trabalho. Espero poder fazer o jogo ir pra frente. Atualizarei, assim que possivel,  a documentação.</p>
<p>Links:</p>
<ul>
<li>Redmine do Projeto: <a href="http://cogito.tolstenko.net/projects/show/cogito">http://cogito.tolstenko.net/</a> (Documentação sendo atualizada)</li>
<li>Picasa do Projeto: <a href="http://picasaweb.google.com.br/tolstenko.net/">http://picasaweb.google.com.br/tolstenko.net/</a></li>
<li>StatSVN do Projeto: <a href="http://tolstenko.net/svn/cogito/">http://tolstenko.net/svn/cogito/</a> (Atualizado a cada hora cheia, 0:00, 1:00, 2:00 &#8230;)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tolstenko.net/2009/05/30/projeto-cogito-esta-de-volta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sobre Mim</title>
		<link>http://tolstenko.net/sobre-mim/</link>
		<comments>http://tolstenko.net/sobre-mim/#comments</comments>
		<pubDate>Sat, 30 May 2009 19:30:18 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Algorítmos]]></category>
		<category><![CDATA[Assembly]]></category>
		<category><![CDATA[Basic]]></category>
		<category><![CDATA[Busca e enumeração]]></category>
		<category><![CDATA[computação]]></category>
		<category><![CDATA[conhecimento]]></category>
		<category><![CDATA[Engenharia]]></category>
		<category><![CDATA[Engine]]></category>
		<category><![CDATA[engine fisica]]></category>
		<category><![CDATA[enumeração]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[game engine]]></category>
		<category><![CDATA[game programming]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[Inteligencia artificial]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jogos]]></category>
		<category><![CDATA[Lisp]]></category>
		<category><![CDATA[MFC]]></category>
		<category><![CDATA[Otimização]]></category>
		<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Prolog]]></category>

		<guid isPermaLink="false">http://tolstenko.net/?page_id=131</guid>
		<description><![CDATA[<a href="http://tolstenko.net/sobre-mim/"><img align="left" hspace="5" width="150" height="150" src="http://tolstenko.net/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Formação
<p>Estudante de Engenharia de Computação &#8211; Unicamp (2007 &#8211; 2011)</p>
Áreas de Interesse:

Programação de Jogos

Game engine
Engine fisica


Inteligencia artificial
Algorítmos genéticos
Otimização
Busca e enumeração

Linguagens de Programação

Preferidas

Assembly
C, C++, MFC, STL e QT
C#
Php


Medio conhecimento

Java
Shell Script


Demais linguagens

Lisp
Prolog
Pascal
Basic e VB



]]></description>
			<content:encoded><![CDATA[<h1>Formação</h1>
<p>Estudante de Engenharia de Computação &#8211; Unicamp (2007 &#8211; 2011)</p>
<h1>Áreas de Interesse:</h1>
<ul>
<li>Programação de Jogos
<ul>
<li>Game engine</li>
<li>Engine fisica</li>
</ul>
</li>
<li>Inteligencia artificial</li>
<li>Algorítmos genéticos</li>
<li>Otimização</li>
<li>Busca e enumeração</li>
</ul>
<h1>Linguagens de Programação</h1>
<ul>
<li>Preferidas
<ul>
<li>Assembly</li>
<li>C, C++, MFC, STL e QT</li>
<li>C#</li>
<li>Php</li>
</ul>
</li>
<li>Medio conhecimento
<ul>
<li>Java</li>
<li>Shell Script</li>
</ul>
</li>
<li>Demais linguagens
<ul>
<li>Lisp</li>
<li>Prolog</li>
<li>Pascal</li>
<li>Basic e VB</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tolstenko.net/sobre-mim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Classe Fade</title>
		<link>http://tolstenko.net/2009/05/28/classe-fade/</link>
		<comments>http://tolstenko.net/2009/05/28/classe-fade/#comments</comments>
		<pubDate>Thu, 28 May 2009 21:30:34 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[Classes]]></category>
		<category><![CDATA[fade]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[game programming]]></category>
		<category><![CDATA[Xbox360]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://tolstenko.net/?p=126</guid>
		<description><![CDATA[<a href="http://tolstenko.net/2009/05/28/classe-fade/"><img align="left" hspace="5" width="150" height="150" src="http://tolstenko.net/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>Implementei uma classe simples, mas interessante, ela faz o fade de imagens. Ela permite a exibição de imagens da mesma maneira que encontramos no inicio de alguns games: o logo de uma empresa, depois outro logo e assim vai até entrar num filmezinho ou entrar no menu inicial do game. Observe que vc poderá modificar [...]]]></description>
			<content:encoded><![CDATA[<p>Implementei uma classe simples, mas interessante, ela faz o fade de imagens. Ela permite a exibição de imagens da mesma maneira que encontramos no inicio de alguns games: o logo de uma empresa, depois outro logo e assim vai até entrar num filmezinho ou entrar no menu inicial do game. Observe que vc poderá modificar essa classe para fazer outras coisas interessantes como fazer a imagem crescer, diminuir&#8230; etc.</p>
<p>O código segue abaixo:</p>
<p><span id="more-126"></span></p>
<table class="csharp" style="border: 1px solid #054b6e; background: #f8f8f8 none repeat scroll 0% 0%; border-collapse: collapse; width: 646px; height: 3447px;" border="0">
<tbody>
<tr class="li1">
<td style="border-right: 1px dotted #dddddd; background: #f0f0f0 none repeat scroll 0% 0%; width: 1px; vertical-align: top; color: #676f73; font-size: 12px; text-align: right;">
<pre style="margin:0; background:none; vertical-align:top; padding: 0px 4px; font-size: 12px;">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185</pre>
</td>
<td style="margin:0; background:none; vertical-align:top; padding: 0px 4px; font-size: 12px;">
<pre style="margin:0; background:none; vertical-align:top; padding: 0px 4px; font-size: 12px;"><span style="vertical-align:top"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span></span>
<span style="vertical-align:top"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span></span>
<span style="vertical-align:top"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Text</span><span style="color: #008000;">;</span></span>
<span style="vertical-align:top"><span style="color: #0600FF;">using</span> <span style="color: #008080;">Microsoft.Xna.Framework</span><span style="color: #008000;">;</span></span>
<span style="vertical-align:top"><span style="color: #0600FF;">using</span> <span style="color: #008080;">Microsoft.Xna.Framework.Graphics</span><span style="color: #008000;">;</span></span>
<span style="vertical-align:top"><span style="color: #0600FF;">using</span> <span style="color: #008080;">Microsoft.Xna.Framework.Content</span><span style="color: #008000;">;</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top"><span style="color: #0600FF;">namespace</span> MetalX.<span style="color: #0000FF;">Efeitos</span></span>
<span style="vertical-align:top"><span style="color: #000000;">{</span></span>
<span style="vertical-align:top">    <span style="color: #FF0000;">class</span> Fade</span>
<span style="vertical-align:top">    <span style="color: #000000;">{</span></span>
<span style="vertical-align:top">        <span style="color: #008080;">#region atributos</span></span>
<span style="vertical-align:top">        Texture2D textura<span style="color: #008000;">;</span></span>
<span style="vertical-align:top">        SpriteFont fonte<span style="color: #008000;">;</span></span>
<span style="vertical-align:top">        estadoImg meuEstado<span style="color: #008000;">;</span></span>
<span style="vertical-align:top">        <span style="color: #FF0000;">int</span> alfaAtual<span style="color: #008000;">;</span></span>
<span style="vertical-align:top">        <span style="color: #FF0000;">double</span> tempoEsperaAcender<span style="color: #008000;">;</span></span>
<span style="vertical-align:top">        <span style="color: #FF0000;">double</span> tempoEsperaFim<span style="color: #008000;">;</span></span>
<span style="vertical-align:top">        <span style="color: #FF0000;">double</span> tempoAcesa<span style="color: #008000;">;</span></span>
<span style="vertical-align:top">        <span style="color: #FF0000;">double</span> horaInicioAcesa<span style="color: #008000;">;</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #FF0000;">int</span> velAlfa<span style="color: #008000;">;</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080;">#endregion</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080;">#region enums</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// enum for the image state</span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">enum</span> estadoImg</span>
<span style="vertical-align:top">        <span style="color: #000000;">{</span></span>
<span style="vertical-align:top">            Apagada,</span>
<span style="vertical-align:top">            Acendendo,</span>
<span style="vertical-align:top">            Acesa,</span>
<span style="vertical-align:top">            Apagando,</span>
<span style="vertical-align:top">            PreFim,</span>
<span style="vertical-align:top">            Fim</span>
<span style="vertical-align:top">        <span style="color: #000000;">}</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080;">#endregion</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080;">#region propriedades</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span> Width <span style="color: #000000;">{</span> get <span style="color: #000000;">{</span> <span style="color: #0600FF;">return</span> textura.<span style="color: #0000FF;">Width</span><span style="color: #008000;">;</span> <span style="color: #000000;">}</span> <span style="color: #000000;">}</span></span>
<span style="vertical-align:top">        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span> Height <span style="color: #000000;">{</span> get <span style="color: #000000;">{</span> <span style="color: #0600FF;">return</span> textura.<span style="color: #0000FF;">Height</span><span style="color: #008000;">;</span> <span style="color: #000000;">}</span> <span style="color: #000000;">}</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// Atribute for MeuEstado</span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #0600FF;">public</span> estadoImg MeuEstado <span style="color: #000000;">{</span> get <span style="color: #000000;">{</span> <span style="color: #0600FF;">return</span> meuEstado<span style="color: #008000;">;</span> <span style="color: #000000;">}</span>
                                     set <span style="color: #000000;">{</span> meuEstado <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #000000;">}</span> <span style="color: #000000;">}</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// Valor em segundos, podendo ser fracionario que se espera para</span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// comecar a imagem</span></span>
<span style="vertical-align:top">        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">double</span> TempoEsperaAcender <span style="color: #000000;">{</span> set <span style="color: #000000;">{</span> tempoEsperaAcender <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #000000;">}</span>
                                           get <span style="color: #000000;">{</span> <span style="color: #0600FF;">return</span> tempoEsperaAcender<span style="color: #008000;">;</span> <span style="color: #000000;">}</span> <span style="color: #000000;">}</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// warning!! the alfa value must be between 0 and 255</span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span> AlfaAtual <span style="color: #000000;">{</span> set <span style="color: #000000;">{</span> alfaAtual <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #000000;">}</span>
                               get <span style="color: #000000;">{</span> <span style="color: #0600FF;">return</span> alfaAtual<span style="color: #008000;">;</span> <span style="color: #000000;">}</span> <span style="color: #000000;">}</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// value in seconds, the value may be fractional. is the time waited </span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// waited to draw another image</span></span>
<span style="vertical-align:top">        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">double</span> TempoEsperaFim <span style="color: #000000;">{</span> set <span style="color: #000000;">{</span> tempoEsperaFim <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #000000;">}</span>
                                       get <span style="color: #000000;">{</span> <span style="color: #0600FF;">return</span> tempoEsperaFim<span style="color: #008000;">;</span> <span style="color: #000000;">}</span> <span style="color: #000000;">}</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// The velocity that alfa changes</span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span> VelAlfa <span style="color: #000000;">{</span> get <span style="color: #000000;">{</span> <span style="color: #0600FF;">return</span> velAlfa<span style="color: #008000;">;</span> <span style="color: #000000;">}</span> set <span style="color: #000000;">{</span> velAlfa <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #000000;">}</span> <span style="color: #000000;">}</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// time to wait in seconds of the duration of the fully painted image</span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">double</span> TempoAcesa <span style="color: #000000;">{</span> get <span style="color: #000000;">{</span> <span style="color: #0600FF;">return</span> tempoAcesa<span style="color: #008000;">;</span> <span style="color: #000000;">}</span>
                                   set <span style="color: #000000;">{</span> tempoAcesa <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #000000;">}</span> <span style="color: #000000;">}</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// the exact time of the end of the last image state</span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">double</span> HoraInicioAcesa <span style="color: #000000;">{</span> set <span style="color: #000000;">{</span> horaInicioAcesa <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #000000;">}</span>
                                        get <span style="color: #000000;">{</span> <span style="color: #0600FF;">return</span> horaInicioAcesa<span style="color: #008000;">;</span> <span style="color: #000000;">}</span> <span style="color: #000000;">}</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080;">#endregion</span></span>
<span style="vertical-align:top"> </span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// Class construtor</span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span>
<span style="vertical-align:top">        <span style="color: #008080; font-style: italic;">/// </span></span></pre>
<p>parameter passed to be used to load the image<br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span></p>
<p>the adress of the image<br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span></p>
<p>the velocity of changing alfa<br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span></p>
<p>time waited before start drawing the image<br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span></p>
<p>time waited on the image state fully draw<br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span></p>
<p>time waited after the draw becomes transparent<br />
<span style="vertical-align:top"> <span style="color: #0600FF;">public</span> Fade<span style="color: #000000;">(</span>Game1 game, <span style="color: #FF0000;">string</span> theFilePathAndName, <span style="color: #FF0000;">int</span> inc, <span style="color: #FF0000;"><br />
double</span> tempoEsperaAcender, <span style="color: #FF0000;">Double</span> tAcesa, <span style="color: #FF0000;">double</span> tempoEsperaFim<span style="color: #000000;">)</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">{</span></span><br />
<span style="vertical-align:top"> TempoEsperaFim <span style="color: #008000;">=</span> tempoEsperaFim<span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> fonte <span style="color: #008000;">=</span> game.<span style="color: #0000FF;">Content</span>.<span style="color: #0000FF;">Load</span><span style="color: #008000;">&lt;</span>SpriteFont<span style="color: #008000;">&gt;</span><span style="color: #000000;">(</span><span style="color: #666666;">@&#8221;fonts\arial&#8221;</span><span style="color: #000000;">)</span><span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> TempoEsperaAcender <span style="color: #008000;">=</span> tempoEsperaAcender<span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> TempoAcesa <span style="color: #008000;">=</span> tAcesa<span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> AlfaAtual <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> MeuEstado <span style="color: #008000;">=</span> estadoImg.<span style="color: #0000FF;">Apagada</span><span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> textura <span style="color: #008000;">=</span> game.<span style="color: #0000FF;">Content</span>.<span style="color: #0000FF;">Load</span><span style="color: #008000;">&lt;</span>Texture2D<span style="color: #008000;">&gt;</span><span style="color: #000000;">(</span>theFilePathAndName<span style="color: #000000;">)</span> <span style="color: #0600FF;">as</span> Texture2D<span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> tempoEsperaAcender <span style="color: #008000;">=</span> <span style="color: #FF0000;">2</span><span style="color: #008000;">;</span> </span><br />
<span style="vertical-align:top"> velAlfa <span style="color: #008000;">=</span> inc<span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">}</span></span><br />
<span style="vertical-align:top"> </span><br />
<span style="vertical-align:top"> </span><br />
<span style="vertical-align:top"> </span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// updates the object </span></span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span></p>
<p>game time<br />
<span style="vertical-align:top"> <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> Update<span style="color: #000000;">(</span>GameTime theGameTime<span style="color: #000000;">)</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">{</span></span><br />
<span style="vertical-align:top"> <span style="color: #0600FF;">switch</span> <span style="color: #000000;">(</span>MeuEstado<span style="color: #000000;">)</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">{</span></span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">// caso inicial, espera para comecar a acender</span></span><br />
<span style="vertical-align:top"> <span style="color: #0600FF;">case</span> estadoImg.<span style="color: #0000FF;">Apagada</span><span style="color: #008000;">:</span></span><br />
<span style="vertical-align:top"><span style="color: #008080; font-style: italic;"> // atualiza o contador de espera para acender</span></span><span style="vertical-align:top"><br />
tempoEsperaAcender <span style="color: #008000;">-=</span> theGameTime.<span style="color: #0000FF;">ElapsedGameTime</span>.<span style="color: #0000FF;">TotalSeconds</span><span style="color: #008000;">;</span> </span><br />
<span style="vertical-align:top"><span style="color: #008080; font-style: italic;">// testa se ja tá na hora de comecar a acender</span></span><span style="vertical-align:top"> <span style="color: #0600FF;"><br />
if</span> <span style="color: #000000;">(</span>tempoEsperaAcender <span style="color: #008000;">&lt;=</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">)</span> </span><br />
<span style="vertical-align:top"> MeuEstado <span style="color: #008000;">=</span> estadoImg.<span style="color: #0000FF;">Acendendo</span><span style="color: #008000;">;</span> <span style="color: #008080; font-style: italic;">// comeca a acender</span></span><br />
<span style="vertical-align:top"> break<span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> </span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">// caso onde a imagem esta comecando a acender</span></span><br />
<span style="vertical-align:top"> <span style="color: #0600FF;">case</span> estadoImg.<span style="color: #0000FF;">Acendendo</span><span style="color: #008000;">:</span></span><br />
<span style="vertical-align:top"> AlfaAtual <span style="color: #008000;">+=</span> velAlfa<span style="color: #008000;">;</span> <span style="color: #008080; font-style: italic;">// incrementa o canal de alfa</span></span><br />
<span style="vertical-align:top"> <span style="color: #0600FF;">if</span> <span style="color: #000000;">(</span>AlfaAtual <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">255</span><span style="color: #000000;">)</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">{</span></span><br />
<span style="vertical-align:top"> MeuEstado <span style="color: #008000;">=</span> estadoImg.<span style="color: #0000FF;">Acesa</span><span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> AlfaAtual <span style="color: #008000;">=</span> <span style="color: #FF0000;">255</span><span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> HoraInicioAcesa <span style="color: #008000;">=</span> theGameTime.<span style="color: #0000FF;">TotalRealTime</span>.<span style="color: #0000FF;">TotalSeconds</span><span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">}</span></span><br />
<span style="vertical-align:top"> break<span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> </span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">// caso onde a imagem está acesa e ela tem que esperar um tempo acesa</span></span><br />
<span style="vertical-align:top"> <span style="color: #0600FF;">case</span> estadoImg.<span style="color: #0000FF;">Acesa</span><span style="color: #008000;">:</span></span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">// se o tempo q ela está acesa passar do tempo q foi dito<br />
// para ela ficar</span></span><br />
<span style="vertical-align:top"> <span style="color: #0600FF;">if</span> <span style="color: #000000;">(</span>TempoAcesa <span style="color: #008000;">&lt;=</span> theGameTime.<span style="color: #0000FF;">TotalRealTime</span>.<span style="color: #0000FF;">TotalSeconds</span> <span style="color: #008000;"><br />
-</span> HoraInicioAcesa<span style="color: #000000;">)</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">{</span></span><br />
<span style="vertical-align:top"> MeuEstado <span style="color: #008000;">=</span> estadoImg.<span style="color: #0000FF;">Apagando</span><span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">}</span></span><br />
<span style="vertical-align:top"> break<span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> </span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">// caso em que a imagem está apagando</span></span><br />
<span style="vertical-align:top"> <span style="color: #0600FF;">case</span> estadoImg.<span style="color: #0000FF;">Apagando</span><span style="color: #008000;">:</span></span><br />
<span style="vertical-align:top"> AlfaAtual <span style="color: #008000;">-=</span> velAlfa<span style="color: #008000;">;</span> <span style="color: #008080; font-style: italic;">// vai diminuido o alfa</span></span><br />
<span style="vertical-align:top"> <span style="color: #0600FF;">if</span> <span style="color: #000000;">(</span>AlfaAtual <span style="color: #008000;">&lt;=</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">)</span> <span style="color: #008080; font-style: italic;">// se tiver apagado tudo, muda o estado</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">{</span></span><br />
<span style="vertical-align:top"> MeuEstado <span style="color: #008000;">=</span> estadoImg.<span style="color: #0000FF;">PreFim</span><span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> AlfaAtual <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> HoraInicioAcesa <span style="color: #008000;">=</span> theGameTime.<span style="color: #0000FF;">TotalRealTime</span>.<span style="color: #0000FF;">TotalSeconds</span><span style="color: #008000;">;</span> </span><br />
<span style="vertical-align:top"> <span style="color: #000000;">}</span></span><br />
<span style="vertical-align:top"> break<span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> </span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">// caso a imagem apague, espera por um tempo dps permite outra<br />
// imagem aparecer</span></span><br />
<span style="vertical-align:top"> <span style="color: #0600FF;">case</span> estadoImg.<span style="color: #0000FF;">PreFim</span><span style="color: #008000;">:</span></span><br />
<span style="vertical-align:top"> <span style="color: #0600FF;">if</span> <span style="color: #000000;">(</span>TempoEsperaFim <span style="color: #008000;">&lt;=</span> theGameTime.<span style="color: #0000FF;">TotalRealTime</span>.<span style="color: #0000FF;">TotalSeconds</span><br />
<span style="color: #008000;">-</span> HoraInicioAcesa<span style="color: #000000;">)</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">{</span></span><br />
<span style="vertical-align:top"> MeuEstado <span style="color: #008000;">=</span> estadoImg.<span style="color: #0000FF;">Fim</span><span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">}</span></span><br />
<span style="vertical-align:top"> break<span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">// nao faz nada qnd apaga</span></span><br />
<span style="vertical-align:top"> <span style="color: #0600FF;">case</span> estadoImg.<span style="color: #0000FF;">Fim</span><span style="color: #008000;">:</span></span><br />
<span style="vertical-align:top"> break<span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">}</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">}</span></span><br />
<span style="vertical-align:top"> </span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// the method draw</span></span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span><br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span></p>
<p>the spritebatch<br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span></p>
<p>the position X<br />
<span style="vertical-align:top"> <span style="color: #008080; font-style: italic;">/// </span></span></p>
<p>the position Y<br />
<span style="vertical-align:top"> <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> Draw<span style="color: #000000;">(</span>SpriteBatch theBatch, <span style="color: #FF0000;">int</span> theXPosition, <span style="color: #FF0000;">int</span> theYPosition<span style="color: #000000;">)</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">{</span></span><br />
<span style="vertical-align:top"> theBatch.<span style="color: #0000FF;">Draw</span><span style="color: #000000;">(</span>textura,<br />
<a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Rectangle<span style="color: #000000;">(</span>theXPosition, theYPosition, textura.<span style="color: #0000FF;">Width</span>, textura.<span style="color: #0000FF;">Height</span><span style="color: #000000;">)</span>,<br />
<a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Color<span style="color: #000000;">(</span><span style="color: #FF0000;">255</span>, <span style="color: #FF0000;">255</span>, <span style="color: #FF0000;">255</span>, <span style="color: #000000;">(</span><span style="color: #FF0000;">byte</span><span style="color: #000000;">)</span>MathHelper.<span style="color: #0000FF;">Clamp</span><span style="color: #000000;">(</span>alfaAtual, <span style="color: #FF0000;">0</span>, <span style="color: #FF0000;">255</span><span style="color: #000000;">)</span><span style="color: #000000;">)</span><span style="color: #000000;">)</span><span style="color: #008000;">;</span></span><br />
<span style="vertical-align:top"> <span style="color: #000000;">}</span></span><br />
<span style="vertical-align:top"> </span><br />
<span style="vertical-align:top"> <span style="color: #000000;">}</span></span><br />
<span style="vertical-align:top"><span style="color: #000000;">}</span></span><br />
<span style="vertical-align:top"> </span></td>
</tr>
</tbody>
</table>
<p>Com essa idéia, pude fazer com que se desenhasse uma imagem apos a outra, instanciando um objeto de cada vez e transitando de uma imagem para outra quando a anterior chegar no estado fim.</p>
]]></content:encoded>
			<wfw:commentRss>http://tolstenko.net/2009/05/28/classe-fade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cogito</title>
		<link>http://tolstenko.net/2009/05/28/cogito/</link>
		<comments>http://tolstenko.net/2009/05/28/cogito/#comments</comments>
		<pubDate>Thu, 28 May 2009 21:21:35 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[Cogito]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[game programming]]></category>
		<category><![CDATA[pc]]></category>
		<category><![CDATA[Xbox360]]></category>

		<guid isPermaLink="false">http://tolstenko.net/?p=124</guid>
		<description><![CDATA[<a href="http://tolstenko.net/2009/05/28/cogito/"><img align="left" hspace="5" width="150" height="150" src="http://tolstenko.net/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>Cogito: do latim significa pensamento, imaginação e criatividade.</p>
<p dir="ltr">
</p>
<p dir="ltr"> Projeto de jogo para Computador/Xbox360.</p>
<p dir="ltr">O intúito desse projeto é aprender as idéias necessárias para se programar jogos. Cada modificação do projeto, atualizarei nesse blog os conceitos utilizados.</p>
]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff0000;"><span style="font-family: comic sans ms,sans-serif;"><span style="color: #000000;">Cogito: do latim significa pensamento, imaginação e criatividade.</span></span></span></p>
<p dir="ltr"><span style="color: #ff0000;"><span style="font-family: comic sans ms,sans-serif;"><span style="color: #000000;"><br />
<hr /></span></span></span></p>
<p dir="ltr"><span style="color: #ff0000;"><span style="font-family: comic sans ms,sans-serif;"><span style="color: #000000;"> Projeto de jogo para Computador/Xbox360.</span></span></span></p>
<p dir="ltr"><span style="color: #ff0000;"><span style="font-family: comic sans ms,sans-serif;"><span style="color: #000000;">O intúito desse projeto é aprender as idéias necessárias para se programar jogos. Cada modificação do projeto, atualizarei nesse blog os conceitos utilizados.</span></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://tolstenko.net/2009/05/28/cogito/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>#00 &#8211; Apresentação</title>
		<link>http://tolstenko.net/2009/02/12/17/</link>
		<comments>http://tolstenko.net/2009/02/12/17/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 20:05:52 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[XNA]]></category>
		<category><![CDATA[begining]]></category>
		<category><![CDATA[creators]]></category>
		<category><![CDATA[developer center]]></category>
		<category><![CDATA[game programming]]></category>
		<category><![CDATA[Gamux]]></category>
		<category><![CDATA[jogos]]></category>
		<category><![CDATA[Unicamp]]></category>
		<category><![CDATA[xna creators club]]></category>

		<guid isPermaLink="false">http://tolstenko.net/?p=17</guid>
		<description><![CDATA[<a href="http://tolstenko.net/2009/02/12/17/"><img align="left" hspace="5" width="150" height="150" src="http://tolstenko.net/wp-content/uploads/2009/02/apresentacao-150x150.jpg" class="alignleft wp-post-image tfe" alt="apresentacao" title="apresentacao" /></a><p></p>
<p>Começo com esse post, uma série de artigos desenvolvidos por mim com o intúito de aprender ensinar como programar jogos em XNA. O mote desse projeto é o fato consumado de que muitos brasileiros são apaixonados por jogos, inclusive eu, mas não possuem, à sua disposição, um material tal qual eu busco construir seguindo essas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tolstenko.net/2009/02/12/17/"><img class="size-full wp-image-30 alignleft" title="apresentacao" src="http://tolstenko.net/wp-content/uploads/2009/02/apresentacao.jpg" alt="apresentacao" width="315" height="315" /></a></p>
<p>Começo com esse post, uma série de artigos desenvolvidos por mim com o intúito de <span style="text-decoration: line-through;">aprender</span> ensinar como programar jogos em XNA. O mote desse projeto é o fato consumado de que muitos brasileiros são apaixonados por jogos, inclusive eu, mas não possuem, à sua disposição, um material tal qual eu busco construir seguindo essas diretivas:</p>
<ul>
<li> Claro (fácil de entender);</li>
<li>Conciso (o material todo mastigadinho e resumido);</li>
<li>Dinâmico (enérgico, se bate de um lado e ja está do outro);</li>
<li>Referenciável (como um caderno de consulta por assuntos estudados);</li>
<li>Em português (nossa! é um horror ter que ler tudo em inglês);</li>
<li>E o mais importante de tudo: um material <span style="text-decoration: underline;">DIVERTIDO</span>.</li>
<p><span id="more-17"></span></ul>
<p>Irei fazer o processo inverso de uma produção de artigos, ou séries de artigos: falarei primeiro das referências usadas para o estudo. Pois assim fica mais fácil para os curiosos que<span style="text-decoration: line-through;">, come eu,</span> gostam de pular algumas etapas no aprendizado. E de qualquer forma, poderei livremente falar usando citações, sem que me <span style="text-decoration: line-through;">importunem</span> chamem à atenção sobre direitos autorais.</p>
<ol>
<li><img class="alignnone size-full wp-image-16" title="prefessional-xna-game-programming" src="http://tolstenko.net/wp-content/uploads/2009/02/prefessional-xna-game-programming.jpg" alt="prefessional-xna-game-programming" width="118" height="150" /> &#8211; Professional XNA Game Programming &#8211; Meu primeiro livro sobre XNA. Focado no XNA 1.0, que sofreu algumas mudanças, mas com ele aprendí as idéias e a logica desse tipo de programação. Possui muito código de exemplo e também explica muitissimo bem.</li>
<li><img class="alignnone size-medium wp-image-23" title="beginning-xna-20-game-programming-from-novice-to-professional" src="http://tolstenko.net/wp-content/uploads/2009/02/beginning-xna-20-game-programming-from-novice-to-professional.jpg" alt="beginning-xna-20-game-programming-from-novice-to-professional" width="192" height="254" /> &#8211; Begining XNA 2.0 Game programming &#8211; From Novice to Professional. Busquei esse livre mais pelo fato dos escritores serem brasileiros e para me atualizar para as mudanças para XNA 2.0.</li>
<li><img class="alignnone size-full wp-image-24" title="learning-xna-30" src="http://tolstenko.net/wp-content/uploads/2009/02/learning-xna-30.jpg" alt="learning-xna-30" width="194" height="254" /> &#8211; Learning XNA 3.0. Estou comprando esse hoje, espero que chegue inteiro e não se perca pelo meio do caminho. Nem sei como vai ser. Pelo que eu li&#8230; parece que promete.</li>
<li><a href="http://www.lms.ic.unicamp.br:3334/">Gamux</a> &#8211; Grupo de jogos da UNICAMP. Foi lá aonde tudo começou.</li>
<li><a href="http://www.sharpgames.net">SharpGames</a> &#8211; Excelente lugar para se encontrar material em português.</li>
<li><a href="http://creators.xna.com">XNA Creators Club</a>- O lugar onde as pessoas podem encontrar exemplos de codigos para baixar, e, tambem starterkits.</li>
<li><a href="http://msdn.microsoft.com/en-us/xna/default.aspx">Xna Developer Center</a> e <a href="http://msdn.microsoft.com/en-us/library/bb200104.aspx">XNA Library</a> &#8211; Material mais hardcore e guia de referencia de funções.</li>
</ol>
<p>Agora é &#8220;só&#8221; falta seguir essas coisas que daqui à pouco alguem da MS Games te liga te chamando para trabalhar lá&#8230; (huahehaui) Ai ai&#8230; mas não tem nada não, sonhar faz bem né?</p>
<p>Só para não estimular tanto vocês, os programadores de games de verdade programam em algo semelhante ao <a href="http://pt.wikipedia.org/wiki/Assembly">Assembly</a>. <span style="text-decoration: line-through;">E aí negão, tú se lascou! (heahuheuhi)</span> Mas não desestimulem não, porque se aprendermos um framework do nível do XNA, passar para qualquer outra coisa fica muito mais fácil.</p>
<p>Aquele abraço!</p>
]]></content:encoded>
			<wfw:commentRss>http://tolstenko.net/2009/02/12/17/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->