<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Jogos digitais</title>
	<atom:link href="http://jogosdigitais.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jogosdigitais.wordpress.com</link>
	<description>Desenvolvimento, pesquisa e algo mais.</description>
	<lastBuildDate>Wed, 16 Nov 2011 23:15:30 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='jogosdigitais.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/954b4a89a901ae6c84a9e282c5cfe20f?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Jogos digitais</title>
		<link>http://jogosdigitais.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://jogosdigitais.wordpress.com/osd.xml" title="Jogos digitais" />
	<atom:link rel='hub' href='http://jogosdigitais.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Personagem e câmera controlados pelo mouse no 3D GameStudio</title>
		<link>http://jogosdigitais.wordpress.com/2009/12/02/personagem-e-camera-controlados-pelo-mouse-no-3d-gamestudio/</link>
		<comments>http://jogosdigitais.wordpress.com/2009/12/02/personagem-e-camera-controlados-pelo-mouse-no-3d-gamestudio/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 02:57:30 +0000</pubDate>
		<dc:creator>Cadu</dc:creator>
				<category><![CDATA[3d gamestudio]]></category>
		<category><![CDATA[Como fazer]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[character]]></category>
		<category><![CDATA[mouse]]></category>
		<category><![CDATA[personagem]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://jogosdigitais.wordpress.com/?p=753</guid>
		<description><![CDATA[Olá, pessoal! Tudo bem? Dessa vez vamos ver como o mouse pode ser utilizado para controlar a direção de deslocamento do personagem e o ângulo de visão da câmera, em um jogo feito no 3D GameStudio. Só não vale usar um mouse capenga e colocar a culpa no programa hein! Então&#8230; para o alto&#8230; e [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=753&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jogosdigitais.files.wordpress.com/2009/12/topo-camera-mouse-3dgamestudio.gif"><img class="aligncenter size-full wp-image-754" title="topo-camera-mouse-3dgamestudio" src="http://jogosdigitais.files.wordpress.com/2009/12/topo-camera-mouse-3dgamestudio.gif?w=460" alt=""   /></a></p>
<p>Olá, pessoal! Tudo bem?</p>
<p style="text-align:justify;">Dessa vez vamos ver como o mouse pode ser utilizado para controlar a direção de deslocamento do personagem e o ângulo de visão da câmera, em um jogo feito no 3D GameStudio. Só não vale usar um mouse capenga e colocar a culpa no programa hein!</p>
<p>Então&#8230; para o alto&#8230; e avante!</p>
<p><span id="more-753"></span></p>
<p style="text-align:justify;">A implementação é bem simples, e para facilitar ainda mais, vou utilizar como referência um post que deixei aqui, falando sobre &#8220;câmera seguindo personagem&#8221;. Este:</p>
<blockquote><p><a href="http://jogosdigitais.wordpress.com/2009/12/01/camera-no-3d-gamestudio-seguindo-o-personagem" target="_blank">http://jogosdigitais.wordpress.com/2009/12/01/camera-no-3d-gamestudio-seguindo-o-personagem</a></p></blockquote>
<p>Pois bem, as modificações devem ocorrer em 2 pontos:</p>
<p style="text-align:justify;">1. Primeiro nas linhas 28 e 29, em que o <strong>pan</strong> do personagem era modificado de acordo com as teclas pressionadas, teremos agora o seguinte código, utilizando como referência o movimento do mouse.  Dessa forma o movimento do mouse irá interferir apenas na rotação do personagem para os lados.</p>
<p><img class="aligncenter size-full wp-image-755" title="mouse-3dgamestudio-personagem-pan" src="http://jogosdigitais.files.wordpress.com/2009/12/mouse-3dgamestudio-personagem-pan.gif?w=460" alt=""   /></p>
<p style="text-align:justify;">2. Depois, na linha 66, em que o <strong>pan</strong> da câmera era igualado ao <strong>pan</strong> do personagem, passaremos a utilizar o movimento do mouse. Com isso teremos a câmera girando para cima, para baixo e para os lados.</p>
<p><img class="aligncenter size-full wp-image-756" title="mouse-3dgamestudio-camera-pan-tilt" src="http://jogosdigitais.files.wordpress.com/2009/12/mouse-3dgamestudio-camera-pan-tilt.gif?w=460" alt=""   /></p>
<p>Prontinho!</p>
<p>Sim! É só isso mesmo! Pode testar! Ah, vale lembrar que a utilização dos eixos  (x, y ou z) sempre depende da forma como os modelos foram criados. Assim, caso a utilização desses 3 valores gere resultados estranhos, substitua-o por outro, até encontrar aquele mais adequado ao seu projeto. Coisa de 2 minutos e vocês conseguem ajustar isso.</p>
<p>Abraço a todos.</p>
<p><span style="color:#ffffff;">.</span></p>
<p><span style="color:#ffffff;">.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jogosdigitais.wordpress.com/753/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jogosdigitais.wordpress.com/753/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jogosdigitais.wordpress.com/753/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jogosdigitais.wordpress.com/753/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jogosdigitais.wordpress.com/753/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jogosdigitais.wordpress.com/753/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jogosdigitais.wordpress.com/753/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jogosdigitais.wordpress.com/753/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jogosdigitais.wordpress.com/753/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jogosdigitais.wordpress.com/753/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jogosdigitais.wordpress.com/753/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jogosdigitais.wordpress.com/753/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jogosdigitais.wordpress.com/753/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jogosdigitais.wordpress.com/753/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=753&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jogosdigitais.wordpress.com/2009/12/02/personagem-e-camera-controlados-pelo-mouse-no-3d-gamestudio/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/603ab94d16e2ea73c43633b15bdfe984?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cadu</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/topo-camera-mouse-3dgamestudio.gif" medium="image">
			<media:title type="html">topo-camera-mouse-3dgamestudio</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/mouse-3dgamestudio-personagem-pan.gif" medium="image">
			<media:title type="html">mouse-3dgamestudio-personagem-pan</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/mouse-3dgamestudio-camera-pan-tilt.gif" medium="image">
			<media:title type="html">mouse-3dgamestudio-camera-pan-tilt</media:title>
		</media:content>
	</item>
		<item>
		<title>Criando níveis para um jogo em 3D GameStudio</title>
		<link>http://jogosdigitais.wordpress.com/2009/12/01/criando-niveis-para-um-jogo-em-3d-gamestudio/</link>
		<comments>http://jogosdigitais.wordpress.com/2009/12/01/criando-niveis-para-um-jogo-em-3d-gamestudio/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 17:44:35 +0000</pubDate>
		<dc:creator>Cadu</dc:creator>
				<category><![CDATA[3d gamestudio]]></category>
		<category><![CDATA[Como fazer]]></category>
		<category><![CDATA[fase]]></category>
		<category><![CDATA[level]]></category>
		<category><![CDATA[mundo]]></category>
		<category><![CDATA[nível]]></category>
		<category><![CDATA[world]]></category>

		<guid isPermaLink="false">http://jogosdigitais.wordpress.com/?p=671</guid>
		<description><![CDATA[As fases (ou níveis) de um jogo em 3D GameStudio são criadas em um editor específico, denominado World Editor (WED), através do qual inserimos e configuramos os elementos que fazem parte do mundo do jogo. Terrenos, construções, artefatos diversos, NPCs e até o personagem principal podem ser inseridos através do WED. É possível criar e [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=671&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><a href="http://jogosdigitais.wordpress.com/2009/12/01/criando-niveis-para-um-jogo-em-3d-gamestudio/" target="_self"><img class="aligncenter size-full wp-image-726" title="topo-criar-fase-3dgamestudio" src="http://jogosdigitais.files.wordpress.com/2009/11/topo-criar-fase-3dgamestudio.gif?w=460" alt=""   /></a>As fases (ou níveis) de um jogo em 3D GameStudio são criadas em um editor específico, denominado <strong>World Editor (WED)</strong>, através do qual inserimos e configuramos os elementos que fazem parte do mundo do jogo. Terrenos, construções, artefatos diversos, NPCs e até o personagem principal podem ser inseridos através do WED.</p>
<p style="text-align:justify;">É possível criar e editar alguns elementos no próprio WED, como formas primitivas, luz e outros. Mas, na maioria dos casos, modelos (.mdl) e terrenos (.hmp) são criados a partir softwares de modelagem, como o editor de modelos do 3D GameStudio (<strong>MED</strong>), ou outros que exportem nos formatos citados.</p>
<p style="text-align:justify;">Considerando que todos os modelos já estão prontos e à disposição, as orientações a seguir nos permitirão organizar o conteúdo em um mesmo espaço e gerar o arquivo que será carregado pelo script.</p>
<p style="text-align:justify;">Então&#8230; muita atenção!</p>
<p style="text-align:justify;"><span id="more-671"></span></p>
<blockquote>
<p style="text-align:justify;">1. Deixe todos os arquivos salvos na mesma pasta. Somente assim o WED irá encontrá-los.</p>
<p style="text-align:justify;">2. Abra o WED e crie um novo level (File -&gt; New), salvando-o em seguida na pasta do projeto (com os demais arquivos, modelos etc.). A extensão <strong>WMP </strong>é o arquivo fonte, utilizado para edição, mas que ainda não pode ser utilizado no jogo.</p>
<p style="text-align:justify;">3. Ao clicar com o botão direito em qualquer das 4 janelas de visualização, a opção <strong>Add </strong>mostra as possibilides de inserção de elementos. Vamos nos concentrar na opção <strong>Add Model</strong>, que irá exibir os modelos existentes na mesma pasta. Para cada modelo que quisermos inserir no cenário, basta selecioná-lo e repetir o processo.<br />
<img class="aligncenter size-full wp-image-746" title="addmodel-3dgamestudio-wed" src="http://jogosdigitais.files.wordpress.com/2009/12/addmodel-3dgamestudio-wed.gif?w=460" alt=""   /><br />
<img class="aligncenter size-full wp-image-747" title="selecaomodel-3dgamestudio-wed" src="http://jogosdigitais.files.wordpress.com/2009/12/selecaomodel-3dgamestudio-wed.gif?w=460" alt=""   /></p>
<p style="text-align:justify;"><img class="size-full wp-image-738 alignright" title="botao-posicionamento-rotacao-escala-3dgamestudio" src="http://jogosdigitais.files.wordpress.com/2009/12/botao-posicionamento-rotacao-escala-3dgamestudio.gif?w=460" alt=""   />4. No topo, há 3 botões que ativam os modos de <strong>posicionamento</strong>, <strong>rotação </strong>e <strong>escala</strong>, bastante úteis para que consigamos organizar todos os elementos. São os três que possuem setinhas verdes.</p>
<p style="text-align:justify;"><img class="size-full wp-image-736 alignleft" title="botao-build-3dgamestudio" src="http://jogosdigitais.files.wordpress.com/2009/12/botao-build-3dgamestudio.gif?w=460" alt=""   />5. Inseridos todos os itens, devemos gerar um arquivo <strong>WMD</strong>, este sim pronto para ser utilizado no jogo, acessado via script. Para isso devemos clicar no <strong>botão Build</strong>, ou no menu <strong>File</strong> -&gt; <strong>Build Map.</strong></p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;..</span>5.1. Caso algum objeto esteja sem textura, o sistema perguntará se pode ser utilizada a textura padrão, o que pode ser confirmado.<br />
<img class="aligncenter size-full wp-image-742" title="janela-semtextura-3dgamestudio-wed" src="http://jogosdigitais.files.wordpress.com/2009/12/janela-semtextura-3dgamestudio-wed.gif?w=460" alt=""   /></p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;..</span>5.2. Em seguida abrirá a janela <strong>Map Compiler</strong>, com algumas possibilidades de configurações. Vamos simplesmente clicar em OK.<br />
<img class="aligncenter size-full wp-image-749" title="mapcompiler-3dgamestudio-wed" src="http://jogosdigitais.files.wordpress.com/2009/12/mapcompiler-3dgamestudio-wed1.gif?w=460" alt=""   /></p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;..</span>5.3. Nesse momento outra janela abre-se, mostrando a evolução da compilação. Se não houver mensagem de erro, sua fase está pronta para ser utilizada.<br />
<img class="aligncenter size-full wp-image-744" title="mapcompiler-resultado-3dgamestudio-wed" src="http://jogosdigitais.files.wordpress.com/2009/12/mapcompiler-resultado-3dgamestudio-wed.gif?w=460" alt=""   /></p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;&#8230;&#8230;.</span>5.3.1. Verifiquei, algumas vezes, que o sistema dá erro em um arquivo pallete.pcx. Caso isso aconteça, vá no menu File -&gt; Map properties, e no campo pallete escolha um arquivo com extensão RAW (com o mesmo nome da fase), que é gerado pelo WED. Daí é só confirmar e repetir o passo 5 desde o início que provavelmente funcionará.</p>
</blockquote>
<p><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Por último deixo uma dica bastante importante: muitas vezes, ao testarmos o cenário no jogo, deparamo-nos com o fato de o personagem não colidir com os elementos, inclusive o terreno. Específicamente estes que fazem parte do ambiente, como pontes, ruas, chão etc. devem ser inseridos de outra forma no WED, através do menu <strong>File -&gt; Import -&gt; Import From MDL Files</strong>.</p>
<p style="text-align:justify;">Então é isso! Boa sorte a todos! E quem quiser postar um link com um print do trabalho para vermos será ótimo!</p>
<p><span style="color:#ffffff;">.</span></p>
<p><span style="color:#ffffff;">.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jogosdigitais.wordpress.com/671/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jogosdigitais.wordpress.com/671/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jogosdigitais.wordpress.com/671/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jogosdigitais.wordpress.com/671/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jogosdigitais.wordpress.com/671/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jogosdigitais.wordpress.com/671/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jogosdigitais.wordpress.com/671/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jogosdigitais.wordpress.com/671/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jogosdigitais.wordpress.com/671/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jogosdigitais.wordpress.com/671/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jogosdigitais.wordpress.com/671/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jogosdigitais.wordpress.com/671/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jogosdigitais.wordpress.com/671/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jogosdigitais.wordpress.com/671/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=671&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jogosdigitais.wordpress.com/2009/12/01/criando-niveis-para-um-jogo-em-3d-gamestudio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/603ab94d16e2ea73c43633b15bdfe984?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cadu</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/topo-criar-fase-3dgamestudio.gif" medium="image">
			<media:title type="html">topo-criar-fase-3dgamestudio</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/addmodel-3dgamestudio-wed.gif" medium="image">
			<media:title type="html">addmodel-3dgamestudio-wed</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/selecaomodel-3dgamestudio-wed.gif" medium="image">
			<media:title type="html">selecaomodel-3dgamestudio-wed</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/botao-posicionamento-rotacao-escala-3dgamestudio.gif" medium="image">
			<media:title type="html">botao-posicionamento-rotacao-escala-3dgamestudio</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/botao-build-3dgamestudio.gif" medium="image">
			<media:title type="html">botao-build-3dgamestudio</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/janela-semtextura-3dgamestudio-wed.gif" medium="image">
			<media:title type="html">janela-semtextura-3dgamestudio-wed</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/mapcompiler-3dgamestudio-wed1.gif" medium="image">
			<media:title type="html">mapcompiler-3dgamestudio-wed</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/mapcompiler-resultado-3dgamestudio-wed.gif" medium="image">
			<media:title type="html">mapcompiler-resultado-3dgamestudio-wed</media:title>
		</media:content>
	</item>
		<item>
		<title>Câmera no 3D GameStudio (seguindo o personagem)</title>
		<link>http://jogosdigitais.wordpress.com/2009/12/01/camera-no-3d-gamestudio-seguindo-o-personagem/</link>
		<comments>http://jogosdigitais.wordpress.com/2009/12/01/camera-no-3d-gamestudio-seguindo-o-personagem/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 17:43:26 +0000</pubDate>
		<dc:creator>Cadu</dc:creator>
				<category><![CDATA[3d gamestudio]]></category>
		<category><![CDATA[Como fazer]]></category>
		<category><![CDATA[Matemática e física]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[jogo]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://jogosdigitais.wordpress.com/?p=706</guid>
		<description><![CDATA[A câmera em um jogo 3D representa o tipo de visão que o jogador terá de tudo o que acontece. Longe ou perto, em primeira ou terceira pessoa, inclinada, superior e por aí vai&#8230; Nesse post iremos aprender a configurar a câmera do 3D GameStudio para seguir o personagem,  em situações que variam desde o [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=706&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><a href="http://jogosdigitais.wordpress.com/2009/12/01/camera-no-3d-gamestudio-seguindo-o-personagem/" target="_self"><img class="aligncenter size-full wp-image-707" title="topo-3dgamestudio-camera" src="http://jogosdigitais.files.wordpress.com/2009/11/topo-3dgamestudio-camera.jpg?w=460" alt=""   /></a></p>
<p style="text-align:justify;">A câmera em um jogo 3D representa o tipo de visão que o jogador terá de tudo o que acontece. Longe ou perto, em primeira ou terceira pessoa, inclinada, superior e por aí vai&#8230;</p>
<p style="text-align:justify;">Nesse post iremos aprender a configurar a câmera do 3D GameStudio para seguir o personagem,  em situações que variam desde o FPS clássico (só com os braços do personagem aparecendo) até visões de terceira pessoa com seres humanizados ou veículos. Pra quem já gosta de matemática, mamão com açúcar! Para quem não gosta&#8230; só posso dizer que está passando da hora de parar com a cara feia e comer logo desse brócolis! Brincadeiras a parte&#8230; vamos nessa!</p>
<p style="text-align:justify;"><span id="more-706"></span></p>
<p style="text-align:justify;">Aí você pode pensar: tá bom&#8230; eu configuro a câmera com o mesmo posicionamento e rotação do personagem e está pronto. Sim&#8230; e não! O problema está no fato de que na maioria das vezes afastamos um pouco a câmera do personagem, para podermos mostrar um pouco dele. É nessa hora, ao girar, que a câmera (até então com posicionamento fixo) começará a focalizar áreas em que o personagem não está, conforme grafico abaixo, que representa a questão vista de cima.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;"><a href="http://jogosdigitais.files.wordpress.com/2009/12/distorcao-camera-3dgamestudio.gif"><img class="aligncenter size-full wp-image-711" title="distorcao-camera-3dgamestudio" src="http://jogosdigitais.files.wordpress.com/2009/12/distorcao-camera-3dgamestudio.gif?w=460&#038;h=460" alt="" width="460" height="460" /></a></p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Para corrigirmos isso, precisaremos sempre reposicionar a câmera, de forma que o personagem continue centralizado na visão apresentada. Para isso vamos usar o Teorema de Pitágoras (Professora de matemática da quinta série! Bem que a senhora falou que um dia eu precisar ia disso!). Vejamos abaixo o que fazer, antes de implementar o script.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;"><a href="http://jogosdigitais.files.wordpress.com/2009/12/pitagoras-correcao-camera-3dgamestudio.gif"><img class="aligncenter size-full wp-image-713" title="pitagoras-correcao-camera-3dgamestudio" src="http://jogosdigitais.files.wordpress.com/2009/12/pitagoras-correcao-camera-3dgamestudio.gif?w=460" alt=""   /></a></p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Considerando a distância sempre fixa entre a câmera e o personagem, e que ela poderá girar por todos os ângulos, teremos que esse valor corresponde ao raio da circunferência para o movimento obtido.</p>
<p style="text-align:justify;">Para acharmos as coordenadas correspondentes trataremos esse tal raio de hipotenusa (<strong>H</strong>). A distância vertical entre o personagem e a câmera será tratada como cateto adjacente (<strong>CA</strong>), pois ajuda a formar o ângulo (que está na cor branca). A distância horizontal é o cateto oposto (<strong>CO</strong>). Pronto! Já temos nosso triângulo retângulo esperando!</p>
<p style="text-align:justify;">Considerando que <strong>CA = H * seno(angulo)</strong> e <strong>CO = H * cosseno(angulo)</strong>, teremos calculados os valores horizontal e vertical. Com isso em mãos, basta subtraí-los dos valores atuais do personagem. Abaixo deixo um exemplo disso aplicado a um protótipo que desenvolvi.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;"><a href="http://jogosdigitais.files.wordpress.com/2009/12/codigo-script-camera-3dgamestudio.gif" target="_blank"><img class="aligncenter size-full wp-image-715" title="codigo-script-camera-3dgamestudio" src="http://jogosdigitais.files.wordpress.com/2009/12/codigo-script-camera-3dgamestudio.gif?w=460" alt=""   /></a></p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Espero que todos tenham conseguido! Um abraço&#8230; e até a próxima!</p>
<p style="text-align:justify;">Ahhh&#8230; e participem do blog, postando comentários, críticas, sugestões etc.</p>
<p style="text-align:justify;">Fui.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jogosdigitais.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jogosdigitais.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jogosdigitais.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jogosdigitais.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jogosdigitais.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jogosdigitais.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jogosdigitais.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jogosdigitais.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jogosdigitais.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jogosdigitais.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jogosdigitais.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jogosdigitais.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jogosdigitais.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jogosdigitais.wordpress.com/706/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=706&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jogosdigitais.wordpress.com/2009/12/01/camera-no-3d-gamestudio-seguindo-o-personagem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/603ab94d16e2ea73c43633b15bdfe984?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cadu</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/topo-3dgamestudio-camera.jpg" medium="image">
			<media:title type="html">topo-3dgamestudio-camera</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/distorcao-camera-3dgamestudio.gif" medium="image">
			<media:title type="html">distorcao-camera-3dgamestudio</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/pitagoras-correcao-camera-3dgamestudio.gif" medium="image">
			<media:title type="html">pitagoras-correcao-camera-3dgamestudio</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/12/codigo-script-camera-3dgamestudio.gif" medium="image">
			<media:title type="html">codigo-script-camera-3dgamestudio</media:title>
		</media:content>
	</item>
		<item>
		<title>Saída pela direita&#8230; no 3D GameStudio</title>
		<link>http://jogosdigitais.wordpress.com/2009/11/30/saida-pela-direita/</link>
		<comments>http://jogosdigitais.wordpress.com/2009/11/30/saida-pela-direita/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 18:01:00 +0000</pubDate>
		<dc:creator>Cadu</dc:creator>
				<category><![CDATA[3d gamestudio]]></category>
		<category><![CDATA[Como fazer]]></category>
		<category><![CDATA[3dgamestudio]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[jogos]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://jogosdigitais.wordpress.com/?p=697</guid>
		<description><![CDATA[Tudo bem&#8230; quando se faz um jogo pretende-se que o jogador fique nele o maior tempo possível, e não que ele clique logo no botão &#8220;SAIR&#8221; e acabe com a brincadeira. Mas nem por isso podemos esquecer de dar essa opção a ele. Afinal, fechar o jogo através do gerenciador de tarefas ou algo assim [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=697&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jogosdigitais.wordpress.com/2009/11/30/saida-pela-direita/"><img class="aligncenter size-full wp-image-698" title="topo-fechar-3dgamestudio" src="http://jogosdigitais.files.wordpress.com/2009/11/topo-fechar-3dgamestudio.jpg?w=460" alt=""   /></a></p>
<p style="text-align:justify;">Tudo bem&#8230; quando se faz um jogo pretende-se que o jogador fique nele o maior tempo possível, e não que ele clique logo no botão &#8220;SAIR&#8221; e acabe com a brincadeira. Mas nem por isso podemos esquecer de dar essa opção a ele. Afinal, fechar o jogo através do gerenciador de tarefas ou algo assim seria algo extremamente desagradável e sinal de um trabalho nada profissional.</p>
<p>Então vejamos&#8230;</p>
<p><span id="more-697"></span></p>
<p style="text-align:justify;">No 3D GameStudio isso é bem tranquilo de implementar. Resumindo: basta programar o botão e/ou a tecla desejados para que executem a função sys_exit(). Abaixo deixo um exemplo disso.</p>
<p><img class="aligncenter size-full wp-image-699" title="fechar_3dgamestudio" src="http://jogosdigitais.files.wordpress.com/2009/11/fechar_3dgamestudio.gif?w=460" alt=""   /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jogosdigitais.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jogosdigitais.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jogosdigitais.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jogosdigitais.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jogosdigitais.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jogosdigitais.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jogosdigitais.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jogosdigitais.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jogosdigitais.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jogosdigitais.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jogosdigitais.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jogosdigitais.wordpress.com/697/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jogosdigitais.wordpress.com/697/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jogosdigitais.wordpress.com/697/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=697&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jogosdigitais.wordpress.com/2009/11/30/saida-pela-direita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/603ab94d16e2ea73c43633b15bdfe984?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cadu</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/topo-fechar-3dgamestudio.jpg" medium="image">
			<media:title type="html">topo-fechar-3dgamestudio</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/fechar_3dgamestudio.gif" medium="image">
			<media:title type="html">fechar_3dgamestudio</media:title>
		</media:content>
	</item>
		<item>
		<title>Novo jogo de tiro (versão AS 3.0)</title>
		<link>http://jogosdigitais.wordpress.com/2009/11/27/novo-jogo-de-tiro-versao-as-3-0/</link>
		<comments>http://jogosdigitais.wordpress.com/2009/11/27/novo-jogo-de-tiro-versao-as-3-0/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 18:19:33 +0000</pubDate>
		<dc:creator>Cadu</dc:creator>
				<category><![CDATA[Como fazer]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[jogo]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://jogosdigitais.wordpress.com/?p=673</guid>
		<description><![CDATA[No meio do ano deixei aqui um tutorial sobre a criação de um jogo de tiros em Flash, só que utilizando a versão 2.0 do actionScript. Esse aqui: http://jogosdigitais.wordpress.com/2009/06/05/jogo-de-tiros. Dessa vez trago uma nova versão, em actionScript 3.0. Repetindo a explicação que coloquei naquela época: &#8220;Funciona assim: diversos alvos (do modelo BOM ou do modelo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=673&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jogosdigitais.files.wordpress.com/2009/11/topo_jogo_tiro_as3_flash.jpg"><img class="aligncenter size-full wp-image-676" title="topo_jogo_tiro_as3_flash" src="http://jogosdigitais.files.wordpress.com/2009/11/topo_jogo_tiro_as3_flash.jpg?w=460" alt=""   /></a></p>
<p style="text-align:justify;">No meio do ano deixei aqui um tutorial sobre a criação de um jogo de tiros em Flash, só que utilizando a versão 2.0 do actionScript. Esse aqui: <a href="http://jogosdigitais.wordpress.com/2009/06/05/jogo-de-tiros" target="_blank">http://jogosdigitais.wordpress.com/2009/06/05/jogo-de-tiros</a>.</p>
<p style="text-align:justify;">Dessa vez trago uma nova versão, em actionScript 3.0. Repetindo a explicação que coloquei naquela época: &#8220;Funciona assim: diversos alvos (do modelo BOM ou do modelo RUIM) caem pela tela. Se você acertar um alvo ruim, perde o jogo. Para vencer deve acertar todos os bons.&#8221;</p>
<p>Vejamos o que nos espera!</p>
<p><span id="more-673"></span></p>
<p>Pra começo de conversar, vamos combinar o trabalho a ser feito:</p>
<blockquote><p>1. Programar a classe responsável pelo funcionamento da mira.</p>
<p>2. Programar a classe responsável pelo funcionamento de cada alvo.</p>
<p>3. Programar a classe responsável pelo funcionamento do jogo como um todo.</p>
<p>4. Criar os elementos visuais e inserir referências às classes em um arquivo FLA.</p></blockquote>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>1. Classe da mira</strong></p>
<p style="text-align:justify;">Vamos chamá-la de <strong>Mira.as</strong>. Resumindo, fará com que o ponteiro do mouse seja ocultado e no lugar dele apareça um movieClip, com o desenho de uma mira da nossa preferência. Eis o código:</p>
<p><img class="aligncenter size-full wp-image-679" title="classe-mira-jogo-game-flash-alvo" src="http://jogosdigitais.files.wordpress.com/2009/11/classe-mira-jogo-game-flash-alvo1.gif?w=460&#038;h=554" alt="" width="460" height="554" /></p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>2. Classe do alvo</strong></p>
<p style="text-align:justify;">Esse classe cuidará de todo o funcionamento de cada alvo: desde o movimento até a verificação se abateu-se um alvo bom ou ruim. Além dos comentários existentes no código, deixo algumas linhas para prestarmos atenção:</p>
<blockquote>
<p style="text-align:justify;">1.  O método <strong>constructor </strong>está vazio porque, como veremos adiante, ao ser linkado a um movieClip não conseguiríamos passar parâmetros, que seriam necessários para a configuração dos alvos. Por isso, criou-se o método <strong>configura </strong>com esse objetivo. Assim, logo após  criarmos cada alvo, executaremos  referido método para passar a ele os valores necessários ao seu bom funcionamento.</p>
<p style="text-align:justify;">2. No método <strong>acerta</strong>, é feita referência a uma propriedade de <strong>JogoAcertaAlvos</strong>. Veremos mais adiante que trata-se de uma propriedade estática que, por essa qualidade, deve ser acessada diretamente na classe, e não nos possíveis objetos. Essa classe JogoAcertaAlvos será a terceira a última desse projeto, criada no próximo tópico.</p>
</blockquote>
<p>Então vejamos a programação da classe <strong>Alvo.as</strong>.</p>
<p><a href="http://jogosdigitais.files.wordpress.com/2009/11/classe-alvo-jogo-game-flash-alvo.gif" target="_blank"><img class="aligncenter size-full wp-image-680" title="classe-alvo-jogo-game-flash-alvo" src="http://jogosdigitais.files.wordpress.com/2009/11/classe-alvo-jogo-game-flash-alvo.gif?w=460" alt=""   /></a><strong> </strong></p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>3. Classe do jogo</strong></p>
<p style="text-align:justify;">Essa classe cuidará da criação dos alvos, cujas quantidades dos tipos <strong>bom</strong> e <strong>ruim</strong> serão devidamente controladas. É nela que definimos o intervalo de tempo entre a criação de um alvo e outro.</p>
<p>Então vamos ao que interessa: o código da classe <strong>JogoAcertaAlvos.as</strong>.</p>
<p><a href="http://jogosdigitais.files.wordpress.com/2009/11/classe-principal-jogo-game-flash-alvo.gif" target="_blank"><img class="aligncenter size-full wp-image-683" title="classe-principal-jogo-game-flash-alvo" src="http://jogosdigitais.files.wordpress.com/2009/11/classe-principal-jogo-game-flash-alvo.gif?w=460" alt=""   /></a><strong> </strong></p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>4. Configuração do FLA</strong></p>
<p style="text-align:justify;">Para finalizar o jogo, vamos criar o arquivo FLA que conterá o desenho dos alvos e da mira, algumas configurações de movieClips e a criação de um objeto baseado na classe principal. O nome do FLA não faz diferença, mas já salve-o de uma vez na pasta em que estão os demais arquivos.</p>
<p>Para criar os objetos:</p>
<blockquote>
<p style="text-align:justify;"><strong>1. Alvo:</strong> Crie um movieClip (chamado Alvo) com 2 frames: no primeiro faça o desenho do alvo bom e no segundo o do alvo ruim. Insira também um stop() no primeiro frame (de preferência em outra camada), para que a linha de tempo não fique animada.</p>
<p style="text-align:justify;"><strong>2. Mira:</strong> Também será um movieClip (com nome Mira). Deve conter o desenho que será a referência do jogador para clicar sobre os alvos. Importante: a parte central, onde está localizado o ponto de registro, deve ser sem preenchimento, caso contrário não conseguiremos detectar que um alvo abaixo da mira foi clicado.</p>
</blockquote>
<p style="text-align:justify;">Agora vamos configurar esses 2 objetos. O processo é o mesmo, então basta repetir para a mira o que vou explicar aqui sobre o alvo. Antes de mais nada, podemos remover os movieClips do palco (se ainda estiverem lá), pois os mesmo serão inseridos via código.</p>
<blockquote>
<p style="text-align:justify;">1. Na biblioteca, após clicarmos com o botão direito sobre o movieClip Alvo, vamos acessar a opção propriedades. Basta clicar a opção <strong>Export for ActionScript</strong> e confirmar, mantendo todas as configurações que lá estiverem. Como o nome do MovieClip e o nome da classe são idênticos (Alvo!) o campo class já estará configurado corretamente, linkado os dois elementos.</p>
<p style="text-align:justify;">2. Prontinho! Não se esqueça de repetir o processo com a mira.</p>
</blockquote>
<p style="text-align:justify;">
<p style="text-align:justify;">Por último vamos inserir um código na linha principal do FLA, que servirá para criar um objeto a partir da classe principal e colocar tudo em funcionamento.</p>
<p style="text-align:justify;"><img class="aligncenter size-full wp-image-688" title="fla-jogo-game-flash-alvo" src="http://jogosdigitais.files.wordpress.com/2009/11/fla-jogo-game-flash-alvo.gif?w=460&#038;h=49" alt="" width="460" height="49" /></p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">E então!? Que tal um Control + Enter? (Finalmente!)</p>
<p style="text-align:justify;">Abraço! E boa diversão!</p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jogosdigitais.wordpress.com/673/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jogosdigitais.wordpress.com/673/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jogosdigitais.wordpress.com/673/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jogosdigitais.wordpress.com/673/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jogosdigitais.wordpress.com/673/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jogosdigitais.wordpress.com/673/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jogosdigitais.wordpress.com/673/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jogosdigitais.wordpress.com/673/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jogosdigitais.wordpress.com/673/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jogosdigitais.wordpress.com/673/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jogosdigitais.wordpress.com/673/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jogosdigitais.wordpress.com/673/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jogosdigitais.wordpress.com/673/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jogosdigitais.wordpress.com/673/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=673&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jogosdigitais.wordpress.com/2009/11/27/novo-jogo-de-tiro-versao-as-3-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/603ab94d16e2ea73c43633b15bdfe984?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cadu</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/topo_jogo_tiro_as3_flash.jpg" medium="image">
			<media:title type="html">topo_jogo_tiro_as3_flash</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/classe-mira-jogo-game-flash-alvo1.gif" medium="image">
			<media:title type="html">classe-mira-jogo-game-flash-alvo</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/classe-alvo-jogo-game-flash-alvo.gif" medium="image">
			<media:title type="html">classe-alvo-jogo-game-flash-alvo</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/classe-principal-jogo-game-flash-alvo.gif" medium="image">
			<media:title type="html">classe-principal-jogo-game-flash-alvo</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/fla-jogo-game-flash-alvo.gif" medium="image">
			<media:title type="html">fla-jogo-game-flash-alvo</media:title>
		</media:content>
	</item>
		<item>
		<title>Modelos do Blender no 3D GameStudio (animação + textura com alpha)</title>
		<link>http://jogosdigitais.wordpress.com/2009/11/25/modelos-do-blender-no-3d-gamestudio-animacao-textura-com-alpha/</link>
		<comments>http://jogosdigitais.wordpress.com/2009/11/25/modelos-do-blender-no-3d-gamestudio-animacao-textura-com-alpha/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 18:38:26 +0000</pubDate>
		<dc:creator>Cadu</dc:creator>
				<category><![CDATA[3d gamestudio]]></category>
		<category><![CDATA[Como fazer]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[exportar]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gamestudio]]></category>
		<category><![CDATA[importar]]></category>
		<category><![CDATA[jogo]]></category>
		<category><![CDATA[modelo]]></category>
		<category><![CDATA[modelos]]></category>

		<guid isPermaLink="false">http://jogosdigitais.wordpress.com/?p=604</guid>
		<description><![CDATA[Quem está começando a trabalhar com o 3D GameStudio deve estar se deparando com uma questão um tanto desagradável: a limitação do seu editor de modelos (MED &#8211; Model Editor). Para essa turma, uma boa opção é utilizar softwares de modelagem mais avançados (e mais conhecidos), cujas referências podem ser encontradas com mais fartura na [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=604&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jogosdigitais.files.wordpress.com/2009/11/topo_blender_3dgamestudio.jpg"><img class="aligncenter size-full wp-image-605" title="topo_blender_3dgamestudio" src="http://jogosdigitais.files.wordpress.com/2009/11/topo_blender_3dgamestudio.jpg?w=460" alt=""   /> </a></p>
<p style="text-align:justify;">Quem está começando a trabalhar com o 3D GameStudio deve estar se deparando com uma questão um tanto desagradável: a limitação do seu editor de modelos (MED &#8211; Model Editor). Para essa turma, uma boa opção é utilizar softwares de modelagem mais avançados (e mais conhecidos), cujas referências podem ser encontradas com mais fartura na web. Mas, para que isso funcione, é necessário conseguir migrar os modelos produzidos, de forma que a engine do 3D GameStudio compreenda-os.</p>
<p style="text-align:justify;">Este tutorial irá mostrar como utilizar modelos desenvolvidos no Blender para jogos no 3D GameStudio. Abordaremos animações e texturas com alpha. Procurei bastante por referências desse tipo, mas não achei muitas (e todas fragmentadas e em inglês). Achei uma boa postar isso aqui.</p>
<p>Então&#8230; bom estudo! E bom trabalho!</p>
<p><span id="more-604"></span></p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>1. Preparação das texturas.</strong></p>
<p><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Primeiro vamos salvar 2 imagens que servirão como textura, uma com as cores normais do objeto e outra apenas em preto-e-branco, sendo que o preto será tratado como transparência.</p>
<p style="text-align:justify;">Você pode utilizar o editor de imagens de sua preferência. Só lembre salvá-las com extensão <strong>TGA</strong> (cor.tga e alpha.tga) e dimensões com potência de 2, como os 256 x 256 pixels que usei para testar.</p>
<p style="text-align:justify;">De preferência, exporte a imagem colorida com 32 bits, pois é assim que precisaremos dela mais adiante, quando estivermos configurando a transparência no editor de modelos do 3D GameStudio. Mas atenção: a imagem em preto-e-branco deve estar em 24 bits!</p>
<p style="text-align:justify;">Abaixo, exemplos em miniatura.</p>
<p><a href="http://jogosdigitais.files.wordpress.com/2009/11/cor.jpg"><img class="aligncenter size-full wp-image-648" title="cor" src="http://jogosdigitais.files.wordpress.com/2009/11/cor.jpg?w=460" alt=""   /></a></p>
<p style="text-align:center;">(cor.tga)</p>
<p style="text-align:center;"><a href="http://jogosdigitais.files.wordpress.com/2009/11/alpha1.jpg"><img class="aligncenter size-full wp-image-659" title="alpha" src="http://jogosdigitais.files.wordpress.com/2009/11/alpha1.jpg?w=460" alt=""   /></a></p>
<p style="text-align:center;">(alpha.tga)</p>
<p><span style="color:#ffffff;"><br />
</span></p>
<p><strong>2. Criação do modelo e mapeamento UV no Blender</strong></p>
<p><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Agora no Blender, criar um arquivo novo e remover o cubo padrão. Salve o arquivo na mesma pasta em que estão as texturas.</p>
<p>Para aplicar mapeamento UV:</p>
<blockquote><p>1. Inserir um <strong>plano</strong>.</p>
<p>2. Alternar para o <strong>modo de edição</strong>.</p>
<p>3. Selecionar tudo o conteúdo.</p>
<p>4. Apertar <strong>U </strong>e selecionar <strong>UNWRAP </strong>no menu.</p>
<p>5. Dividir o espaço em 2 janelas, alterando uma delas para <strong>UV/Image Editor</strong>.</p>
<p>6. Na janela de mapeamento, clicar em <strong>Image </strong>-&gt; <strong>Open</strong>, e selecionar a imagem colorida normal (cor.tga).</p></blockquote>
<p style="text-align:justify;">Até aqui já seria suficiente para termos um modelo texturizado sendo exibido no 3D GameStudio, apesar da textura não aparecer quando renderizamos no Blender (F12).</p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>3. Configuração da transparência no Blender</strong></p>
<p><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Nos passos seguintes faremos a aplicação da transparência, configurando um material com duas texturas.</p>
<p>Para configurar a textura com alpha:</p>
<blockquote><p>1. Ativar o painel de material.</p>
<p><span style="color:#ffffff;">&#8230;..</span>1.1. Adicionar um novo material (será apenas 1 mesmo!).</p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;..</span>1.2. Ativar o botão <strong>ZTransp </strong>e setar o <strong>alpha </strong>para O (zero), para reconhecer a transparência.</p>
<p>2. Ativar o painel de texturas.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;..</span>2.1. Adicionar uma nova textura, do tipo Imagem, carregando para ela a imagem colorida normal (cor.tga). É mesma que foi utilizada no mapeamento UV.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;..</span>2.2. Adicionar uma nova textura, também do tipo Imagem, carregando para ela a imagem em preto-e-branco (alpha.tga). Para essa textura, no bloco <strong>Map Image</strong>, Desmarcar a opção <strong>UseAlpha</strong>.</p>
<p style="text-align:justify;">3. De volta ao painel de material, em <strong>Map To</strong>, desative a opção <strong>Col </strong>e ative a opção <strong>Alpha</strong>, apenas para a segunda textura.</p>
</blockquote>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>4. Script para exportação do modelo do Blender para .mdl<br />
</strong></p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">O Blender não tem a extensão mdl (utilizada no 3d GameStudio) como padrão para exportação. Por isso vamos recorrer a um script feito em Python (a linguagem utilizada pelo Blender). Eu não sou especialista nisso, mas encontrei um script na web bastante eficiente, que vou compartilhar com vocês.</p>
<p style="text-align:justify;">Atenção, renomeei o arquivo para .doc, pois não conseguia postar com a extensão correta. Portanto, não tentem abri-lo. Apenas renomeem para <strong>export_3dgs_mdl7.py</strong>.</p>
<p style="text-align:justify;">Depois de não conseguir utilizá-lo diversas vezes precisei fazer um ajuste, devido a um nome de variável que passou a ser proibido nas versões mais novas, pois passou a ser palavra reservada.</p>
<p style="text-align:center;"><a href="../files/2009/11/export_3dgs_mdl7.doc"></a><a href="http://jogosdigitais.files.wordpress.com/2009/11/export_3dgs_mdl71.doc">export_3dgs_mdl7</a></p>
<p style="text-align:justify;">Bom, baixado o script, basta copiá-lo para a pasta scripts, dentro da pasta de instalação do Blender. A explicação a seguir é praticamente uma tradução do que encontramos em <a href="http://www.coniserver.net/wiki/index.php/Blender" target="_blank">http://www.coniserver.net/wiki/index.php/Blender</a>, principal referência para esse estudo. Se alguma coisa não funcionar corretamente, desculpem-me os poucos testes que realizei antes de criar esse post, mas quis compartilhar logo a informação com vocês. Dúvidas, críticas e sugestões são bem-vindas!</p>
<p style="text-align:justify;">Como usar o script no Blender:</p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<blockquote>
<p style="text-align:justify;">1. Dividir a área em pelo menos 2 janelas: uma para a visão 3D (que precisa estar visível para que as animações sejam exportadas) e outra para os scripts. Nessa última, acessar <strong>Scripts </strong>-&gt; <strong>Export </strong>-&gt; <strong>3dgamestudio mdl7 (.mdl)</strong>. Se não estiver aparecendo essa opção, tente <strong>Scripts -&gt; Update Menus.<br />
</strong></p>
<p style="text-align:justify;">2. Selecionar as malhas que serão exportadas.</p>
<p style="text-align:justify;">3. Defina a escala para exportação do modelo (no Blender cada unidade é próxima a um metro, enquanto que no 3dGameStudio é mais parecida com uma polegada).</p>
<p style="text-align:justify;">4. Ative a opção <strong>internal textures</strong>.</p>
<p>5. Ative o tipo de coordenada <strong>world space</strong>.</p>
<p>6. Pressione <strong>export</strong>.</p>
<p style="text-align:justify;">7. Configure o caminho e o nome do arquivo e pressione <strong>export mdl7</strong> para iniciar a exportação.</p>
<p>8. Aguarde até que o popup &#8220;export done!&#8221; apareça. <span style="color:#ffffff;">.</span></p></blockquote>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>5. Exportação das animações</strong><br />
<span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Caso o modelo seja animado, antes de exportar (passo 6 do tópico anterior), deve-se configurar os ciclos de animação, da seguinte forma:</p>
<blockquote>
<p style="text-align:justify;">1. Pressione <strong>export animation</strong> para ativar a configuração da animação a ser exportada. No caso de modelos estáticos pode deixar esse item desabilitado.</p>
<p style="text-align:justify;">2. Cada ciclo de animação deve ser definido por um nome e uma lista com os números do frames correspondentes, separados por espaço. Ative a opção <strong>v</strong> para exportar uma animação do tipo <strong>vertex</strong>, ou a opção <strong>b</strong>, para exportação uma animação com <strong>bones</strong>.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;..</span>2.1. Pressione <strong>add </strong>ou <strong>remove </strong>para gerenciar os ciclos de animação.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;..</span>2.2. Comentários quanto à exportação de animações com bones:</p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;&#8230;&#8230;</span>2.2.1. Cada vértice deve sofrer a influência de apenas 1 bone. Caso contrário  será considerado o mais forte, ou de forma randômica, se tiverem o mesmo peso.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;&#8230;&#8230;</span>2.2.2. Bones cujos nomes comecem com &#8220;ik&#8221; não serão exportados.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;&#8230;&#8230;</span>2.2.3. Apenas o esqueleto do objeto ativo será exportado.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">&#8230;&#8230;&#8230;</span>2.2.4. O esqueleto deve ter o mesmo ponto de origem e transformação que o objeto a ele vinculado.<span style="color:#ffffff;"><br />
</span></p>
</blockquote>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>6. Configuração da textura com alpha no editor de modelos (MED)</strong></p>
<p><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Com tudo pronto no Blender, inclusive a exportação do modelo em formato .mdl, nosso último passo será configurar as texturas no Model Editor (MED),  editor de modelos do 3D GameStudio.</p>
<p style="text-align:justify;">É bem simples! Com o MED aberto, devemos seguir os seguintes passos:</p>
<blockquote><p>1. Abrir o modelo exportado do Blender.<span style="color:#ffffff;"> </span></p>
<p style="text-align:justify;">2. Acessar <strong>Edit </strong>-&gt; <strong>Manage skins</strong> e clicar no botão <strong>Skin Settings</strong>. Uma janela abrirá para a configuração das texturas.</p>
<p style="text-align:justify;">3. No campo <strong>Texture File</strong>, selecione o arquivo cor.tga, nosso conhecido das etapas no Blender.</p>
<p style="text-align:justify;">4. Em <strong>Texture format</strong>, set a opção <strong>32 bits</strong>, que ativará o canal alpha. Lembre de confirmar clicando em <strong>OK </strong>logo abaixo. (Atenção: esse passo não será necessário se a imagem cor.tga já tiver sido exportada com 32 bits pelo editor de imagens).</p>
<p style="text-align:justify;">5. O campo <strong>Alpha Texture File </strong>ficará disponível para seleção. Mesmo que haja qualquer conteúdo inserido (mesmo que seja o que imaginamos ser o certo!) devemos clicar e selecionar o arquivo alpha.tga. Aquele mesmo, preto-e-branco.</p>
<p>6. Pronto! Salve o modelo!</p></blockquote>
<p><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Agora já podemos testar nosso projeto no 3D GameStudio e ver que o modelo aparece com a textura correta, inclusive com transparência.</p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>7. Mais alguns comentários importantes.</strong></p>
<p><span style="color:#ffffff;">.</span></p>
<blockquote>
<p style="text-align:justify;">1. Os nomes não devem ter mais de 20 caracteres para os bones, 16 para as texturas (fora a extensão) e 16 para os objetos/malhas.</p>
<p style="text-align:justify;">2. Exportar texturas internas pode ser mais demorado devido à geração de mipmap.</p>
<p style="text-align:justify;">3. Com os botões <strong>save options</strong> e <strong>load options</strong>, as configurações de exportação podem ser gravadas e carregadas.</p>
</blockquote>
<p><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Quem quiser ver a referência que utilizei para criar esse passo-a-passo, principalmente na parte sobre textura com transparência, aqui está o link:</p>
<p style="text-align:center;"><a href="http://blendertotal.wordpress.com/tutorial-como-usar-alpha-maps" target="_blank">http://blendertotal.wordpress.com/tutorial-como-usar-alpha-maps</a></p>
<p>Entendeu direitinho? Então agora é aplicar no seu modelo 3D!</p>
<p><span style="color:#ffffff;">.</span></p>
<p><span style="color:#ffffff;">.</span></p>
<p><span style="color:#ffffff;">.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jogosdigitais.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jogosdigitais.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jogosdigitais.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jogosdigitais.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jogosdigitais.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jogosdigitais.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jogosdigitais.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jogosdigitais.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jogosdigitais.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jogosdigitais.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jogosdigitais.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jogosdigitais.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jogosdigitais.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jogosdigitais.wordpress.com/604/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=604&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jogosdigitais.wordpress.com/2009/11/25/modelos-do-blender-no-3d-gamestudio-animacao-textura-com-alpha/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/603ab94d16e2ea73c43633b15bdfe984?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cadu</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/topo_blender_3dgamestudio.jpg" medium="image">
			<media:title type="html">topo_blender_3dgamestudio</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/cor.jpg" medium="image">
			<media:title type="html">cor</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/alpha1.jpg" medium="image">
			<media:title type="html">alpha</media:title>
		</media:content>
	</item>
		<item>
		<title>Labirinto (AS 3.0)</title>
		<link>http://jogosdigitais.wordpress.com/2009/11/06/labirinto-as-3-0/</link>
		<comments>http://jogosdigitais.wordpress.com/2009/11/06/labirinto-as-3-0/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 18:00:32 +0000</pubDate>
		<dc:creator>Cadu</dc:creator>
				<category><![CDATA[Como fazer]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[jogo]]></category>
		<category><![CDATA[labirinto]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://jogosdigitais.wordpress.com/?p=567</guid>
		<description><![CDATA[Olá, pessoal! Tudo bem? Hoje vamos de tutorial para criar um jogo de labirinto. Todos prontos? Primeiro vamos criar os elementos visuais em um arquivo FLA e depois programar todo o funcionamento do jogo em apenas uma classe. Lembrem que utilizo o Flash CS4. Caso haja alguma opção diferente ou alguma incompatibilidade com o CS3, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=567&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><img class="aligncenter size-full wp-image-602" title="topo_labirinto_flash_as3" src="http://jogosdigitais.files.wordpress.com/2009/11/topo_labirinto_flash_as31.jpg?w=460" alt="topo_labirinto_flash_as3"   /></p>
<p style="text-align:justify;">Olá, pessoal! Tudo bem?</p>
<p style="text-align:justify;">Hoje vamos de tutorial para criar um jogo de labirinto. Todos prontos?</p>
<p style="text-align:justify;">Primeiro vamos criar os elementos visuais em um arquivo FLA e depois programar todo o funcionamento do jogo em apenas uma classe.</p>
<p style="text-align:justify;">Lembrem que utilizo o Flash CS4. Caso haja alguma opção diferente ou alguma incompatibilidade com o CS3, favor comentarem aqui suas dúvidas e soluções, ok?!</p>
<p style="text-align:justify;">Um&#8230; dois&#8230; três&#8230; valendo!</p>
<p style="text-align:justify;"><span id="more-567"></span></p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>1) Preparativos e considerações gerais.</strong><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Primeiramente, vamos criar um FLA novo. Pode ter qualquer nome e qualquer tamanho, ao gosto do freguês.</p>
<p style="text-align:justify;">Agora, antes de criar os personagens, recordemos uma questão importante a respeito de colisão de objetos: <strong>colisão entre movieClips</strong> <em>versus</em> <strong>colisão entre um movieClip e uma coordenada</strong>.</p>
<p style="text-align:justify;">Se verificamos a colisão entre 2 movieClips, como no caso do jogo do quebra-cabeça, o Flash considera a área retangular dos objetos, e não apenas seu desenho. Naquele jogo tudo bem pois os objetos são separados e não contêm um ao outro. (Se quiser saber mais sobre quebra-cabeça, tem um tutorial aqui no site que explica como montar um).</p>
<p style="text-align:justify;"><img class="alignleft size-full wp-image-598" title="labirinto_4pontos_as_flash" src="http://jogosdigitais.files.wordpress.com/2009/11/labirinto_4pontos_as_flash.gif?w=460" alt="labirinto_4pontos_as_flash"   />Já no caso do labirinto, os personagens ficam o tempo todo dentro dele. Dessa forma, se fizessemos o mesmo tipo de teste, a colisão seria detectada a todo instante. Sendo assim, para não termos que criar um movieClip para cada parede e fazer um monte de teste, trabalharemos com a colisão entre um movieClip (o cenário) e uma coordenada (um ponto no personagem). Na verdade vamos calcular quatro pontos nas extremidades do personagem, que, de preferência, devem ter formato retangular (melhor ainda se for quadrado). Dessa forma, se tratarmos a colisão com cada extremidade dessa, teremos cuidado de todo o personagem.</p>
<p style="text-align:justify;">Outra consideração importante diz respeito à necessidade de manter essas coordenadas representando as mesmas extremidades, mesmo que o personagem gire para fazer o movimento em outra direção. Caso contrário teríamos que multiplicar por 4 a quantidade de código, uma vez para cada direção que o personagem apontasse. Isso será resolvido com o uso de 2 movieClips: 1 interno, que apenas gira, e um externo, que contém o primeiro, que apenas desloca.</p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>2) Criação do cenário.</strong></p>
<p>Essa é parte mais fácil! O cenário é um simples movieClip com as paredes desenhadas. Olhem o meu como ficou.</p>
<p><img class="aligncenter size-full wp-image-584" title="cenario_labirinto_as_flash" src="http://jogosdigitais.files.wordpress.com/2009/11/cenario_labirinto_as_flash.gif?w=460" alt="cenario_labirinto_as_flash"   /></p>
<p>Há três restrições:</p>
<blockquote><p>- Onde não tiver parede tem que ser vazado! Não pode só colorir de branco ou outra cor.</p>
<p>- As paredes têm que ser verticais ou horizontais (nunca inclinadas);</p>
<p>- As paredes tem que ser mais largas do que os personagens, devido aos cálculos de colisão que faremos adiante.</p></blockquote>
<p>Assim que terminar o desenho, lembre colocar nome de instância no movieClip: <strong>cenário</strong>.</p>
<p><strong><br />
</strong></p>
<p><strong>3) Criação do personagem jogável.</strong></p>
<p style="text-align:justify;">Vamos desenhar nosso personagem (esse magnífico quadrado!) com uma marca que identifique a frente dele. Nesse caso eu usei uma cor diferente. Utilize a parte de cima para isso, ou então terá que ajustar a rotação, quando tratarmos da programação.</p>
<p style="text-align:justify;"><img class="alignleft size-full wp-image-579" title="personagem_interno_labirinto_as_flash" src="http://jogosdigitais.files.wordpress.com/2009/11/personagem_interno_labirinto_as_flash.gif?w=460" alt="personagem_interno_labirinto_as_flash"   />Devemos convertê-lo em movieClip, cujo nome de símbolo não fará diferença. O <strong>ponto de registro</strong>, entretanto, deve ser no <strong>centro</strong>, para que o personagem gire sobre o próprio eixo. O nome de instância deve ser <strong>interno</strong>. Ah, e não precisa ser desse tamanho! Lembre que o personagem deve ser mais estreito do que as paredes do labirinto.</p>
<p style="text-align:justify;"><img class="alignright size-full wp-image-580" title="personagem_externo_labirinto_as_flash" src="http://jogosdigitais.files.wordpress.com/2009/11/personagem_externo_labirinto_as_flash.gif?w=460" alt="personagem_externo_labirinto_as_flash"   />Em seguida, vamos apenas selecionar o movieClip interno e convertê-lo novamente em movieClip, dessa vez com o <strong>ponto de registro</strong> no canto <strong>superior esquerdo</strong>, para atender aos nossos cálculos das extremidades. O nome do símbolo mais uma vez não faz diferença, mas o de instância deve ser <strong>externo</strong>.</p>
<p style="text-align:justify;">Dessa forma teremos no palco o movieClip <strong>externo</strong>, com o <strong>interno</strong> dentro dele.</p>
<p style="text-align:justify;">Lembre de posicionar o personagem nos corredores, fora das paredes.</p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>4) Criação dos personagens não-jogáveis (NPCs).</strong></p>
<p style="text-align:justify;">Os NPCs devem ter a mesma estrutura do personagem jogável, composta por dois símbolos. O movieClip de dentro deve ter o mesmo nome dado no caso do personagem jogável: <strong>interno</strong>.</p>
<p style="text-align:justify;"><img class="alignleft size-full wp-image-586" title="inimigo_labirinto_as_flash" src="http://jogosdigitais.files.wordpress.com/2009/11/inimigo_labirinto_as_flash.gif?w=460" alt="inimigo_labirinto_as_flash"   />O movieClip de fora deve possuir um nome diferente. Para fazer esse teste eu criei dois NPCs: <strong>inimigo</strong> e <strong>inimigo2</strong>. (Segredo: eu até usei o mesmo símbolo e só apliquei um pouco daquele efeito Tint, que muda a cor dos objetos. Viva a criatividade e o reaproveitamento de movieClips. Tá bom&#8230; nem ficou tão legal&#8230; então trate de fazer um desenho novo e bem bacana!)</p>
<p><strong>5) Como vencer o jogo&#8230;</strong></p>
<p style="text-align:justify;">Devemos criar um movieClip que representará o objetivo do jogo. Pode conter um desenho qualquer (e até ser transparent). Apenas seu nome de instância deve ser definido como <strong>final</strong>.</p>
<p><strong>6) Configuração do FLA para &#8220;conectar-se&#8221; à classe.</strong></p>
<p style="text-align:justify;">No menu, em File &gt;&gt; Publish Settings, indicaremos que o arquivo FLA ficará vinculado à classe que criaremos já já, em um arquivo AS. Para isso, basta acessar, na aba Flash, o botão Settings e configurar o nome da classe (Labirinto) e desmarcar a opção de declaração automática de instâncias.</p>
<p><img class="aligncenter size-full wp-image-590" title="publish_settings_labirinto_as_flash" src="http://jogosdigitais.files.wordpress.com/2009/11/publish_settings_labirinto_as_flash.gif?w=460" alt="publish_settings_labirinto_as_flash"   /></p>
<p>Depois é só dar OK em todas as telas e partir para a programação.</p>
<p><span style="color:#ffffff;"><br />
</span></p>
<p><strong>7) Programação da classe.</strong></p>
<p style="text-align:justify;">A classe Labirinto será criada em um arquivo AS. Para criá-lo vamos em File &gt;&gt; New &gt;&gt; ActionScript File &gt;&gt; OK. Pronto, nosso arquivo de texto está pronto para ser alimentado com o código que dará vida ao jogo. Não esqueça de salvá-lo como <strong>Labirinto.as</strong>.</p>
<p style="text-align:justify;">A programação está abaixo, toda comentada. Parece muito? Que nada&#8230; metade são linhas vermelhas de comentário.</p>
<p><a href="http://jogosdigitais.files.wordpress.com/2009/11/classe_labirinto1.gif" target="_blank"><img class="aligncenter size-full wp-image-593" title="classe_labirinto" src="http://jogosdigitais.files.wordpress.com/2009/11/classe_labirinto1.gif?w=460" alt="classe_labirinto"   /></a></p>
<p><span style="color:#000000;">Prontinho! Esperam que todos tenham achado a saída!</span></p>
<p><span style="color:#000000;">Um abraço e até a próxima!<br />
</span></p>
<p><span style="color:#ffffff;">.<br />
</span></p>
<p><span style="color:#ffffff;">.</span></p>
<p><span style="color:#ffffff;">.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jogosdigitais.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jogosdigitais.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jogosdigitais.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jogosdigitais.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jogosdigitais.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jogosdigitais.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jogosdigitais.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jogosdigitais.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jogosdigitais.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jogosdigitais.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jogosdigitais.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jogosdigitais.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jogosdigitais.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jogosdigitais.wordpress.com/567/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=567&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jogosdigitais.wordpress.com/2009/11/06/labirinto-as-3-0/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/603ab94d16e2ea73c43633b15bdfe984?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cadu</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/topo_labirinto_flash_as31.jpg" medium="image">
			<media:title type="html">topo_labirinto_flash_as3</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/labirinto_4pontos_as_flash.gif" medium="image">
			<media:title type="html">labirinto_4pontos_as_flash</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/cenario_labirinto_as_flash.gif" medium="image">
			<media:title type="html">cenario_labirinto_as_flash</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/personagem_interno_labirinto_as_flash.gif" medium="image">
			<media:title type="html">personagem_interno_labirinto_as_flash</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/personagem_externo_labirinto_as_flash.gif" medium="image">
			<media:title type="html">personagem_externo_labirinto_as_flash</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/inimigo_labirinto_as_flash.gif" medium="image">
			<media:title type="html">inimigo_labirinto_as_flash</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/publish_settings_labirinto_as_flash.gif" medium="image">
			<media:title type="html">publish_settings_labirinto_as_flash</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/11/classe_labirinto1.gif" medium="image">
			<media:title type="html">classe_labirinto</media:title>
		</media:content>
	</item>
		<item>
		<title>Quebra-cabeça (AS 3.0)</title>
		<link>http://jogosdigitais.wordpress.com/2009/10/02/quebra-cabeca-as-3-0/</link>
		<comments>http://jogosdigitais.wordpress.com/2009/10/02/quebra-cabeca-as-3-0/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 20:14:27 +0000</pubDate>
		<dc:creator>Cadu</dc:creator>
				<category><![CDATA[Como fazer]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[jogo]]></category>
		<category><![CDATA[puzzle]]></category>
		<category><![CDATA[quebra-cabeça]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://jogosdigitais.wordpress.com/?p=545</guid>
		<description><![CDATA[Olá, pessoal! Nosso desafio de hoje é montar um quebra-cabeça utilizando o actionScript 3.0 do Flash. Todos prontos? Basicamente, criaremos uma classe que cuidará do funcionamento das peças e da verificação de final de jogo. Portanto, teremos 2 arquivos: 1 FLA e 1 AS. Então&#8230; mãos à obra! . 1) Criação das peças Cada peça [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=545&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-544" title="quebra-cabeca-as3" src="http://jogosdigitais.files.wordpress.com/2009/10/quebra-cabeca-as3.jpg?w=460" alt="quebra-cabeca-as3"   /></p>
<p style="text-align:justify;">Olá, pessoal! Nosso desafio de hoje é montar um quebra-cabeça utilizando o actionScript 3.0 do Flash. Todos prontos?</p>
<p><span id="more-545"></span></p>
<p style="text-align:justify;">Basicamente, criaremos uma classe que cuidará do funcionamento das peças e da verificação de final de jogo. Portanto, teremos 2 arquivos: 1 FLA e 1 AS.</p>
<p>Então&#8230; mãos à obra!</p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>1) Criação das peças</strong></p>
<p style="text-align:justify;">Cada peça de deverá ser um movieClip, com o formato que você quiser. Para facilitar a identificação, vamos utilizar um padrão de nomes. Para um jogo padrão de com 9 peças, com as mesmas distribuídas em 3 linhas e 3 colunas, teremos os seguintes nomes:</p>
<blockquote><p>peca_0_0, peca_0_1, peca_0_2,<br />
peca_1_0, peca_1_1, peca_1_2,<br />
peca_2_0, peca_2_1, peca_2_2.</p></blockquote>
<p style="text-align:justify;">O primeiro número corresponde à linha e o segundo à coluna. Começamos a contar a partir de 0 para acostumarmos que isso acontece muitas vezes de forma obrigatória quando se trata de programação.</p>
<p style="text-align:justify;">Importante mesmo é que todas as peças sejam inseridas no palco com estes nomes de instância, pois os mesmos serão importantes quando chegarmos na parte da programação. Se o nome do símbolo na biblioteca for o mesmo, ótimo! Mas isso não interfere no resultado final.</p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>2) Criação das peças-solução</strong></p>
<p style="text-align:justify;">Para criarmos a solução do quebra-cabeça, devemos duplicar as peças que estão no palco, atribuindo a elas novos nomes de instância, variando apenas uma parte, mas mantendo a numeração.</p>
<blockquote><p>solucao_0_0, solucao_0_1, solucao_0_2,<br />
solucao_1_0, solucao_1_1, solucao_1_2,<br />
solucao_2_0, solucao_2_1, solucao_2_2.</p></blockquote>
<p style="text-align:justify;">Atenção para duplicarem apenas as instâncias e não os símbolos da biblioteca, uma vez que o lugar de encaixe de cada peça deverá ser igual à própria.</p>
<p style="text-align:justify;">Esses movieClips, denominados &#8220;solução&#8221;, devem ser posicionados de forma a criarem o resultado final do quebra-cabeça selecionado, para servirem de referência na hora de verificar os acertos. Por outro lado, as peças jogáveis devem estar espalhadas pela tela.</p>
<p style="text-align:justify;">As peças de solução não serão móveis e a príncipio podemos deixá-las um pouco transparentes para diferenciá-las daquelas controladas pelo jogador. Ao final, poderão ficar 100% transparentes, apenas com uma borda em volta para identificar a área de jogo.</p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>3) Configuração da área de contato</strong></p>
<p style="text-align:justify;">Para verificar se cada peça foi colocada sobre a solução correspondente, faremos os chamados testes de colisão. Entretanto, eles apresentam uma limitação no Flash, que é o fato de verificarem a área retangular que envolve os movieClips, e não apenas seus conteúdos. Dessa forma, alguns casos poderíam ser dados como colisão, mesmo que esta não acontecesse.</p>
<p style="text-align:justify;">Mesmo que esse problema não existisse, permitir que o jogador acerte a jogada mesmo que esbarre apenas um pedaço da peça na solução correta seria deixar o jogo muito fácil e impreciso.</p>
<p style="text-align:justify;">Para resolver as duas questões, utilizaremos um recurso bastante simples e eficiente, como veremos a seguir.</p>
<p style="text-align:justify;">Dentro de uma das peças criaremos um novo movieclip (que pode ser o desenho de uma bolinha ou quadradinho) que chamaremos de miolo (lembrem de colocar esse nome de instância nele). É importante que o desenho ocupe apenas uma parte da peça, na área central. Automaticamente, a solução correspondente a essa peça também apresentará o tal miolo, já que são instâncias do mesmo símbolo. Pois bem, na programação não iremos simplesmente comparar uma peça e sua solução, mas o miolo da peça com o miolo da solução.</p>
<p style="text-align:justify;"><img class="aligncenter size-full wp-image-561" title="miolo" src="http://jogosdigitais.files.wordpress.com/2009/10/miolo.gif?w=460" alt="miolo"   /></p>
<p style="text-align:justify;">Agora é copiar o tal movieClip e inserí-lo também nas demais peças (conferir se o nome de instância é o mesmo &#8220;miolo&#8221; em todos os casos).</p>
<p style="text-align:justify;">Dica: para mudar o nível de dificuldade do jogo, basta entrar no símbolo miolo e alterar suas dimensões. E ao final, basta mudar a cor do desenho para transparente (tudo isso dentro do símbolo), que todas as peças estarão prontas!</p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>4) Criação da classe Peca</strong></p>
<p style="text-align:justify;">Toda a programação será feita na classe que nomearemos Peca. Portanto, criemos um arquivo actionScript com o nome Peca.as. O código está abaixo, todo comentado!</p>
<p><a href="http://jogosdigitais.files.wordpress.com/2009/10/classe-quebra-cabeca.gif" target="_blank"><img class="aligncenter size-full wp-image-555" title="classe-quebra-cabeca" src="http://jogosdigitais.files.wordpress.com/2009/10/classe-quebra-cabeca.gif?w=460" alt="classe-quebra-cabeca"   /></a></p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>5) Vinculação das peças à classe</strong></p>
<p style="text-align:justify;">Estamos quase lá&#8230;</p>
<p style="text-align:justify;">Pra finalizar, falta apenas configurar os movieClips das peças para que seu funcionamento seja baseado na classe que acabamos de criar. Para isso, devemos clicar com o botão direito sobre o nome do objeto (na biblioteca) e acessar o painel &#8220;Properties&#8221;. Nele devemos ativar a exportação para actionScript e definir o nome da classe base, que é justamente a classe Peca que criamos. Veja na imagem:</p>
<p><img class="aligncenter size-full wp-image-558" title="propriedades_peca" src="http://jogosdigitais.files.wordpress.com/2009/10/propriedades_peca.gif?w=460" alt="propriedades_peca"   /></p>
<p style="text-align:justify;">Demais itens que aparecem clicados ou escritos automaticamente devem deixados como estão.</p>
<p style="text-align:justify;">O processo deve ser feito individualmente para cada peça.</p>
<p><span style="color:#ffffff;">.</span></p>
<p><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Agora é só testar o projeto! Se foi tudo configurado e digitado direitinho, teremos um jogo quebra-cabeça saindo do forno! Aproveitem e deixem seus comentários, dúvidas, sugestões etc.</p>
<p style="text-align:justify;">Abraço!</p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p><strong><br />
</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jogosdigitais.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jogosdigitais.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jogosdigitais.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jogosdigitais.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jogosdigitais.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jogosdigitais.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jogosdigitais.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jogosdigitais.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jogosdigitais.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jogosdigitais.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jogosdigitais.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jogosdigitais.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jogosdigitais.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jogosdigitais.wordpress.com/545/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=545&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jogosdigitais.wordpress.com/2009/10/02/quebra-cabeca-as-3-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/603ab94d16e2ea73c43633b15bdfe984?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cadu</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/10/quebra-cabeca-as3.jpg" medium="image">
			<media:title type="html">quebra-cabeca-as3</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/10/miolo.gif" medium="image">
			<media:title type="html">miolo</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/10/classe-quebra-cabeca.gif" medium="image">
			<media:title type="html">classe-quebra-cabeca</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/10/propriedades_peca.gif" medium="image">
			<media:title type="html">propriedades_peca</media:title>
		</media:content>
	</item>
		<item>
		<title>Cenários tile-based com XML (parte 2-2)</title>
		<link>http://jogosdigitais.wordpress.com/2009/09/17/cenarios-tile-based-com-xml-parte-2-2/</link>
		<comments>http://jogosdigitais.wordpress.com/2009/09/17/cenarios-tile-based-com-xml-parte-2-2/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 17:53:01 +0000</pubDate>
		<dc:creator>Cadu</dc:creator>
				<category><![CDATA[Como fazer]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[cenário]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[jogo]]></category>
		<category><![CDATA[tile-based]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://jogosdigitais.wordpress.com/?p=511</guid>
		<description><![CDATA[Bom, se você não acessou a primeira parte desse tutorial, aqui está o link: http://jogosdigitais.wordpress.com/2009/09/15/cenarios-tile-based-com-xml-1-2 Para quem já concluiu a montagem e leitura do XML, vamos ao que interessa: a montagem dos blocos na tela. Continuando do arquivo jogo.fla que trabalhamos na primeira parte, vamos agora criar o conteúdo visual dos blocos e em seguida [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=511&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img title="topo-tile-based" src="http://jogosdigitais.files.wordpress.com/2009/09/topo-tile-based.jpg?w=450&#038;h=102" alt="topo-tile-based" width="450" height="102" /></p>
<p>Bom, se você não acessou a primeira parte desse tutorial, aqui está o link:</p>
<blockquote><p><a href="http://jogosdigitais.wordpress.com/2009/09/15/cenarios-tile-based-com-xml-1-2" target="_blank">http://jogosdigitais.wordpress.com/2009/09/15/cenarios-tile-based-com-xml-1-2</a></p></blockquote>
<p>Para quem já concluiu a montagem e leitura do XML, vamos ao que interessa: a montagem dos blocos na tela.</p>
<p><span id="more-511"></span></p>
<p>Continuando do arquivo<strong> jogo.fla</strong> que trabalhamos na primeira parte, vamos agora criar o conteúdo visual dos blocos e em seguida fazer com eles apareçam na tela de acordo com a configuração do XML.</p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>1. Criação do movieClip para os blocos</strong></p>
<p>Teremos apenas 1 movieClip contendo o desenho de todos os blocos. Algumas recomendações:</p>
<blockquote><p>- É importante que os blocos sejam separados por quadro (1 bloco em cada quadro);</p>
<p>- Todos os blocos devem ter o mesmo tamanho e serem posicionados no canto superior esquerdo.</p>
<p>- O primeiro bloco será transparente, mas não vazio. Isso permitirá que haja uma imagem de fundo no cenário, como o céu, montanhas, etc, que apareçam atrás dos blocos.</p>
<p>- O primeiro quadro (frame) deve conter uma ação <strong>stop();</strong> para que os quadros não apareçam em loop, um após o outro.</p></blockquote>
<p style="text-align:justify;">Abaixo está uma animação do que chamaremos de <strong>bloco_mc</strong>. Os blocos que criei são bastante simples, apenas para ilustração. Cada um deve criar a quantidade de blocos (com desenhos mais interessantes do que os que eu fiz, eu espero!) necessária para produzir cenários atraentes.</p>
<p style="text-align:center;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:center;">Quadro 1:</p>
<p><img class="aligncenter size-full wp-image-530" title="bloco_frame1" src="http://jogosdigitais.files.wordpress.com/2009/09/bloco_frame1.gif?w=460" alt="bloco_frame1"   /></p>
<p style="text-align:center;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:center;">Quadro 2:</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-531" title="bloco_frame2" src="http://jogosdigitais.files.wordpress.com/2009/09/bloco_frame2.gif?w=460" alt="bloco_frame2"   /></p>
<p style="text-align:center;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:center;">Quadro 3:</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-532" title="bloco_frame3" src="http://jogosdigitais.files.wordpress.com/2009/09/bloco_frame3.gif?w=460" alt="bloco_frame3"   /></p>
<p style="text-align:center;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:center;">Quadro 4:</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-529" title="bloco_frame4" src="http://jogosdigitais.files.wordpress.com/2009/09/bloco_frame4.gif?w=460" alt="bloco_frame4"   /></p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>2. Configuração do movieClip para acesso através da programação</strong></p>
<p style="text-align:justify;"><span style="color:#333333;">Criado o conteúdo visual, vamos agora configurar o movieClip para que possam ser criados vários blocos na tela, de acordo com o cadastro feito no arquivo XML.</span></p>
<p><span style="color:#333333;">O processo é simples.</span></p>
<p style="text-align:justify;"><span style="color:#333333;">Primeiro localize o objeto na biblioteca e clique com o botão direito. No menu que aparecerá, acesse <strong>Properties</strong>.</span></p>
<p><span style="color:#333333;"><img class="aligncenter size-full wp-image-536" title="botao_direito" src="http://jogosdigitais.files.wordpress.com/2009/09/botao_direito.gif?w=460" alt="botao_direito"   /><br />
</span></p>
<p style="text-align:justify;"><span style="color:#333333;">No painel de propriedades que abrirá, marque apenas a opção <strong>Export for ActionScript</strong> e altere o nome da classe para Bloco (com B maiúsculo para manter o padrão de nomenclatura das classes). Esse é o nome que utilizaremos na programação para criar objetos baseados nesse movieClip.<br />
</span></p>
<p style="text-align:justify;"><span style="color:#333333;">As demais opções que forem preenchidas ou marcadas automaticamente devem permanecer como estão.</span></p>
<p><span style="color:#333333;"><img class="aligncenter size-full wp-image-537" title="propriedades" src="http://jogosdigitais.files.wordpress.com/2009/09/propriedades.gif?w=460" alt="propriedades"   /><br />
</span></p>
<p style="text-align:justify;"><span style="color:#333333;">Pronto. Podem confirmar e avançar para a programação.<br />
</span></p>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>3. Montagem dos blocos na tela.</strong></p>
<p style="text-align:justify;"><span style="color:#333333;">Agora vamos alterar o código produzido post anterior desse tema, fazendo com que, ao invés de apenas listar as linhas e colunas, sejam criados os blocos correspondentes, devidamente posicionados.</span></p>
<p style="text-align:center;">(Inserir apenas a parte destacada em amarelo,<br />
pois o restante já está feito)</p>
<p><span style="color:#333333;"><a href="http://jogosdigitais.files.wordpress.com/2009/09/codigo_cria_bloco.gif" target="_blank"><img class="aligncenter size-full wp-image-539" title="codigo_cria_bloco" src="http://jogosdigitais.files.wordpress.com/2009/09/codigo_cria_bloco.gif?w=460" alt="codigo_cria_bloco"   /></a><br />
</span></p>
<p><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;"><span style="color:#ffffff;"><span style="color:#000000;">Agora é deixar a criativade fluir e criar blocos bem legais para o seu projeto! Para acrescentar, remover ou alterar os blocos, utilizaremos 2 arquivos: o <strong>FLA </strong>para definir o conteúdo visual e o <span style="color:#000000;"><strong>XML </strong>para definir quantidade e posicionamento.</span></span><span style="color:#000000;"> Só para vocês terem uma idéia do resultado, abaixo uma imagem do meu cenário.</span><br />
</span></p>
<p style="text-align:justify;"><img class="aligncenter size-full wp-image-542" title="resultado_final" src="http://jogosdigitais.files.wordpress.com/2009/09/resultado_final.gif?w=460" alt="resultado_final"   /></p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;"><span style="color:#ffffff;"><span style="color:#000000;">Então é isso! Até o próximo post!</span></span></p>
<p><span style="color:#ffffff;">.</span></p>
<p><span style="color:#ffffff;">.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jogosdigitais.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jogosdigitais.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jogosdigitais.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jogosdigitais.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jogosdigitais.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jogosdigitais.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jogosdigitais.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jogosdigitais.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jogosdigitais.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jogosdigitais.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jogosdigitais.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jogosdigitais.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jogosdigitais.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jogosdigitais.wordpress.com/511/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=511&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jogosdigitais.wordpress.com/2009/09/17/cenarios-tile-based-com-xml-parte-2-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/603ab94d16e2ea73c43633b15bdfe984?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cadu</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/topo-tile-based.jpg" medium="image">
			<media:title type="html">topo-tile-based</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/bloco_frame1.gif" medium="image">
			<media:title type="html">bloco_frame1</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/bloco_frame2.gif" medium="image">
			<media:title type="html">bloco_frame2</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/bloco_frame3.gif" medium="image">
			<media:title type="html">bloco_frame3</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/bloco_frame4.gif" medium="image">
			<media:title type="html">bloco_frame4</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/botao_direito.gif" medium="image">
			<media:title type="html">botao_direito</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/propriedades.gif" medium="image">
			<media:title type="html">propriedades</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/codigo_cria_bloco.gif" medium="image">
			<media:title type="html">codigo_cria_bloco</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/resultado_final.gif" medium="image">
			<media:title type="html">resultado_final</media:title>
		</media:content>
	</item>
		<item>
		<title>Cenários tile-based com XML (parte 1-2)</title>
		<link>http://jogosdigitais.wordpress.com/2009/09/15/cenarios-tile-based-com-xml-1-2/</link>
		<comments>http://jogosdigitais.wordpress.com/2009/09/15/cenarios-tile-based-com-xml-1-2/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 18:24:33 +0000</pubDate>
		<dc:creator>Cadu</dc:creator>
				<category><![CDATA[Como fazer]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[cenário]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[jogo]]></category>
		<category><![CDATA[tile-based]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://jogosdigitais.wordpress.com/?p=497</guid>
		<description><![CDATA[Neste post iniciaremos os estudos para a construção de cenários do tipo tile-based, aquelas baseados em blocos que se encaixam para formar o ambiente do jogo. Na verdade, o jogador não precisa perceber que há vários blocos distribuídos pela tela, devendo o ilustrador cuidar da criação de blocos sem costura, ou seja, com encaixes suaves, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=497&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-501" title="topo-tile-based" src="http://jogosdigitais.files.wordpress.com/2009/09/topo-tile-based.jpg?w=460" alt="topo-tile-based"   /></p>
<p style="text-align:justify;">Neste post iniciaremos os estudos para a construção de cenários do tipo <strong>tile-based</strong>, aquelas baseados em blocos que se encaixam para formar o ambiente do jogo. Na verdade, o jogador não precisa perceber que há vários blocos distribuídos pela tela, devendo o ilustrador cuidar da criação de blocos sem costura, ou seja, com encaixes suaves, imperceptíveis.</p>
<p style="text-align:justify;"><span id="more-497"></span>A vantagem desse tipo de cenário é que não será necessário criar imagens extensas à medida que o cenário aumenta. Além disso, a atualização também é mais simples, pois ao alterar um bloco, sua atualização é automática em todos os pontos do cenário em que for aplicada. Por fim, possivelmente teremos arquivos menores do que se utilizássemos grandes imagens com o cenário completo.</p>
<p style="text-align:justify;">Então vamos direto à implementação, que é nosso objetivo no momento. Podemos discutir questões conceituas sobre <strong>tile-based</strong> em outro momento.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;"><strong>1. Criação do arquivo XML</strong></p>
<p style="text-align:justify;">É no arquivo XML que definiremos a quantidade de linhas e colunas do nosso cenário. Nesse tutorial nomeei o arquivo como <strong>arquivo.xml</strong>. O conteúdo está indicado abaixo.</p>
<p style="text-align:justify;"><img class="aligncenter size-full wp-image-504" title="xml" src="http://jogosdigitais.files.wordpress.com/2009/09/xml.gif?w=460" alt="xml"   /></p>
<p style="text-align:justify;">Observações importantes:</p>
<blockquote>
<p style="text-align:justify;">- Todas as linhas devem ter a mesma quantidade de colunas;</p>
<p style="text-align:justify;">- O valor do atributo bloco indica o quadro (frame) do bloco a ser exibido na composição do cenário. Esse conteúdo visual deve ser criado no arquivo FLA, como abordaremos no segundo post dessa série.</p>
</blockquote>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;"><strong>2. Leitura do XML</strong></p>
<p style="text-align:justify;">A leitura do arquivo XML pode ser feita em um arquivo <strong>FLA </strong>ou <strong>AS</strong>, dependendo da forma como estivermos implementando o projeto. Nesse exemplo, vamos criar um arquivo <strong>FLA </strong>(ActionScript 3.0) e inserir o código abaixo no primeiro quadro (frame). O nome do FLA não importa, mas fica <strong>jogo.fla</strong> como sugestão.</p>
<p style="text-align:justify;"><a href="http://jogosdigitais.files.wordpress.com/2009/09/flash_xml.gif" target="_blank"><img class="aligncenter size-full wp-image-505" title="flash_xml" src="http://jogosdigitais.files.wordpress.com/2009/09/flash_xml.gif?w=460" alt="flash_xml"   /></a></p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Acompanhem com atenção os comentários junto ao código e guardem o arquivo como referência. Para qualquer outra aplicação utilizando XML vocês poderão aplicar o mesmo modelo.</p>
<p style="text-align:justify;">Bom, terminaram de criar os arquivos? Então agora é só executar o FLA e visualizar as informações sobre linhas, colunas e blocos listadas na janela de saída.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p style="text-align:justify;">Espero que tenham entendido e conseguido implementar! Até o próximo post, quando cuidaremos da criação, posicionamento e exibição dos blocos!</p>
<p style="text-align:justify;"><span style="color:#ffffff;">.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jogosdigitais.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jogosdigitais.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jogosdigitais.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jogosdigitais.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jogosdigitais.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jogosdigitais.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jogosdigitais.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jogosdigitais.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jogosdigitais.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jogosdigitais.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jogosdigitais.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jogosdigitais.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jogosdigitais.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jogosdigitais.wordpress.com/497/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jogosdigitais.wordpress.com&amp;blog=6982248&amp;post=497&amp;subd=jogosdigitais&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jogosdigitais.wordpress.com/2009/09/15/cenarios-tile-based-com-xml-1-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/603ab94d16e2ea73c43633b15bdfe984?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cadu</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/topo-tile-based.jpg" medium="image">
			<media:title type="html">topo-tile-based</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/xml.gif" medium="image">
			<media:title type="html">xml</media:title>
		</media:content>

		<media:content url="http://jogosdigitais.files.wordpress.com/2009/09/flash_xml.gif" medium="image">
			<media:title type="html">flash_xml</media:title>
		</media:content>
	</item>
	</channel>
</rss>
