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

<channel>
	<title>CrociDBlog &#187; Tutoriais</title>
	<atom:link href="http://crocidb.com/blog/category/tutoriais/feed/" rel="self" type="application/rss+xml" />
	<link>http://crocidb.com/blog</link>
	<description>Programação, Jogos, Desenvolvimento de Games e opinião.</description>
	<lastBuildDate>Sat, 05 Feb 2011 21:59:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Criando Flash Games no Linux</title>
		<link>http://crocidb.com/blog/2010/02/criando-flash-games-no-linux/</link>
		<comments>http://crocidb.com/blog/2010/02/criando-flash-games-no-linux/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 00:08:34 +0000</pubDate>
		<dc:creator>CrociDB</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://crocidb.com/blog/?p=559</guid>
		<description><![CDATA[Conheço muita gente que não gosta de jogos em Flash. Mas muitos deles dizem que não gostam porque não podem programar jogos para ele. Ou porque não podem pagar pelo Adobe Flash, e outros porque usam Linux. Eu já citei algo sobre isso no post Por que eu gosto de jogos em Flash? Como muitos <a href="http://crocidb.com/blog/2010/02/criando-flash-games-no-linux/"> read more <span class="meta-nav">&#187;</span></a>
Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2010/03/criando-flash-games-no-linux-2/' rel='bookmark' title='Criando Flash Games no Linux II'>Criando Flash Games no Linux II</a></li>
<li><a href='http://crocidb.com/blog/2010/07/flash-games-e-smartphones-android/' rel='bookmark' title='Flash Games em Dispositivos Móveis'>Flash Games em Dispositivos Móveis</a></li>
<li><a href='http://crocidb.com/blog/2009/10/por-que-eu-gosto-de-jogos-em-flash/' rel='bookmark' title='Por que eu gosto de jogos em Flash?'>Por que eu gosto de jogos em Flash?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://crocidb.com/blog/wp-content/uploads/2010/02/TuxFlash.png"><img class="size-medium wp-image-562 alignleft" title="TuxFlash" src="http://crocidb.com/blog/wp-content/uploads/2010/02/TuxFlash-250x300.png" alt="Flash no Linux" width="160" height="192" /></a>Conheço muita gente que não gosta de jogos em <strong>Flash</strong>. Mas muitos deles dizem que não gostam porque não podem programar jogos para ele. Ou porque não podem pagar pelo Adobe Flash, e outros porque usam <strong>Linux</strong>. Eu já citei algo sobre isso no post <a href="http://crocidb.com/blog/2009/10/por-que-eu-gosto-de-jogos-em-flash/" target="_blank">Por que eu gosto de jogos em Flash?</a></p>
<p>Como muitos sabem, a Adobe tem o Flex SDK, que são o compilador e as bibliotecas do Flex Builder, só que OpenSource. Com ele você já tem o suficiente para desenvolver qualquer jogo em Flash utilizando ActionScript 3 e as bibliotecas do Flash.</p>
<p>Então resolvi criar um pequeno guia para iniciar na programação de jogos em Flash no Linux. Eu aqui estou usando o Ubuntu Karmic Koala, mas acredito que não vai mudar muita coisa para outras distribuições.</p>
<h2>Instalando o Flex SDK</h2>
<p>Primeiro de tudo você tem que instalar o Sun JDK. Se você estiver usando qualquer distro debian-based, você pode instalar direto pelo apt-get assim:</p>
<pre class="brush: plain; title: ; notranslate">$ sudo apt-get install sun-java6-jdk</pre>
<p>Caso esteja usando outra distro, você pode baixar a JDK diretamente pelo <a href="http://java.sun.com/javase/downloads/widget/jdk6.jsp">site do Java</a>. Agora baixe a SDK do Flex no <a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3sdk" target="_blank">site da Adobe</a>. É um pouquinho grande, tem cerca de 120MB. Agora extraia o conteúdo do arquivo no diretório /opt/flex, que você deve criar. Supondo que você baixou o arquivo <strong>flex_sdk_3.5.zip</strong> na pasta <strong>Downloads</strong>:</p>
<pre class="brush: plain; title: ; notranslate">$ sudo mkdir /opt/flex
$ cd ~/Downloads
$ unzip flex_sdk_3.5.zip -d tmpflex
$ sudo mv tmpflex/* /opt/flex/
$ rm -rf tmpflex</pre>
<p>Pronto, você já extraiu a SDK do flex para a pasta /opt/flex, se quiser ter certeza disso, pode dar um:</p>
<pre class="brush: plain; title: ; notranslate">$ cd /opt/flex
$ ls</pre>
<p>Se você ver um monte de arquivos e pastas é porque deu tudo certo. Entretanto, você precisa adicionar a pasta <strong>bin</strong> ao PATH, para que você possa chamar o compilador pelo shell. Então faça o seguinte:</p>
<pre class="brush: plain; title: ; notranslate">$ sudo echo &quot;export PATH=/opt/flex/bin:$PATH&quot; &gt;&gt; ~/.bashrc</pre>
<p>Isso vai adicionar  a linha <strong>export PATH=/opt/flex/bin:$PATH</strong> ao arquivo <strong>.bashrc</strong>, o que dizer que a pasta de binários do Flex SDK vai poder ser acessada pelo shell. Agora feche todas as suas janelas de terminal, abra uma e teste se tudo está ok:</p>
<pre class="brush: plain; title: ; notranslate">$ mxmlc --version</pre>
<p>Se ele mostrar a versão é porque está tudo funcionando perfeitamente.</p>
<h2>Instalando o FlashPlayer Standalone</h2>
<p>Depois de instalar o SDK do Flex, você já pode programar normalmente e testar seus SWF&#8217;s em um navegador. Mas isso não é aconselhável porque dessa forma você não pode ver os erros de runtime que acontecerem no seu jogo. Então vamos instalar o FlashPlayer Standalone. Primeiro de tudo, baixe o pacote com o player normal e o player com debugger <a href="http://www.adobe.com/support/flashplayer/downloads.html">aqui no site da Adobe</a>. Mais uma vez vamos extrair e instalar:</p>
<pre class="brush: plain; title: ; notranslate">$ cd ~/Downloads
$ tar xzvf flash_player_10_linux_dev.tar.gz
$ cd flash_player_10_linux_dev/standalone/debugger
$ tar xzvf flashplayer.tar.gz
$ sudo mv flashplayer /usr/bin/
$ cd ~/Downloads
$ rm -rf flash_player_10_linux_dev</pre>
<p>Pronto, teste agora para ver se o flashplayer foi instalado:</p>
<pre class="brush: plain; title: ; notranslate">$ flashplayer</pre>
<h2>Onde programar?</h2>
<p>Aqui é a parte onde a programação para Flash no Linux me decepciona um pouco. No Windows nós temos o FlashDevelop, que é uma ótima IDE OpenSource. Para Linux eu testei vários plugins para Eclipse e para NetBeans e, infelizmente, não consegui fazer nenhum deles funcionar. São, em sua maioria, muito antigos e sem suporte para as novas versões dessas maravilhosas IDE&#8217;s.</p>
<p><script type="text/javascript"><!--
google_ad_client = "ca-pub-1568196986346072";
/* MiddlePost */
google_ad_slot = "8119767824";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>Mas há plugins de colorização de código para editores como o VIM, ou o gedit. Para instalar o plugin de colorização ActionScript 3 no gedit, baixe esse arquivo <a href="http://crocidb.com/files/actionscript3.lang"><strong>actionscript3.lang</strong></a> e então coloque na pasta <strong>/usr/share/gtksourceview-2.0/language-specs/</strong>.</p>
<h2>Criando um joguinho em ActionScript 3</h2>
<p>Depois de tudo isso, vamos criar algo bem básico só para mostrar como é a programação em ActionScript no Linux. Primeiro de tudo, crie uma pasta para o seu projeto:</p>
<pre class="brush: plain; title: ; notranslate">$ mkdir asgame
$ cd asgame</pre>
<p>Agora então crie uma classe bem básica em AS3:</p>
<pre class="brush: as3; title: ; notranslate">package {

   import flash.display.Sprite;

   // Define algumas características do SWF
   [SWF(width=&quot;640&quot;, height=&quot;480&quot;, frameRate=&quot;60&quot;, backgroundColor=&quot;#00CC00&quot;)]

   public class Game extends Sprite {
      public function Game()
      {
         trace (&quot;Jogo iniciado!&quot;);
      }
   }
}</pre>
<p>Essa é a classe mais simples possível, ele apenas vai ter o fundo verde e vai exibir um texto no console. Salve como <strong>Game.as</strong>. Para compilar, basta chamar o mxmlc:</p>
<pre class="brush: plain; title: ; notranslate">$ mxmlc Game.as</pre>
<p>Depois para testar, você chama o flashplayer passando o Game.swf (que acabou de ser compilado):</p>
<pre class="brush: plain; title: ; notranslate">$ flashplayer Game.swf</pre>
<p>Você também pode testar isso no seu navegador.</p>
<p>Eu costumo criar um script, ou um alias para fazer isso pra mim. Veja como ficaria um script <strong>run.sh</strong>:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/sh

mxmlc Game.as &amp;&amp; flashplayer Game.swf</pre>
<p>Então fica facinho compilar e testar a cada alteração no código:</p>
<pre class="brush: plain; title: ; notranslate">$ ./run.sh</pre>
<p>Ou simplesmente criar o alias run para compilar de uma vez:</p>
<pre class="brush: plain; title: ; notranslate">$ alias run=&quot;mxmlc Game.as &amp;&amp; flashplayer Game.swf&quot;</pre>
<p>E chamar usando:</p>
<pre class="brush: plain; title: ; notranslate">$ run</pre>
<h2>Frameworks</h2>
<p>Não poderia de citar alguns frameworks para o desenvolvimento de jogos em ActionScript 3.0 (com o Flex SDK):</p>
<ul>
<li><a href="http://pushbuttonengine.com/" target="_blank">PushButton Engine</a></li>
<li><a href="http://flixel.org/" target="_blank">flixel</a></li>
<li><a href="http://flashpunk.net/" target="_blank">Flash Punk</a></li>
</ul>
<p>Não testei a fundo nenhuma das três. Instalei e fiz alguns testes bem básicos com a flixel e com a PushButton, mas nada de interessante que eu possa postar aqui. Por isso vou deixar essa parte para um futuro post.</p>
<h2>Conclusão</h2>
<p>Eu comecei a criar meu primeiro joguinho em ActionScript 3 com a Flex SDK no Linux há pouco tempo. Já deveria tê-lo terminado, mas não consegui por outros fatores. Entretanto, você pode acessar o código-fonte do BallCanoide em desenvolvimento no <a href="http://github.com/CrociDB/BallCanoide" target="_blank">GitHub</a>.</p>
<p>No começo eu procurei usar alguns frameworks que eu citei acima, mas percebi que para esse caso eu não precisaria, pois só as bibliotecas do Flash mesmo seriam suficiente. Ainda mais que eu já tinha algum conhecimento delas.</p>
<p>Espero que esse pequeno guia ajude pessoas que não sabem como programar jogos em flash no Linux a começar nessa área. Ainda essa semana eu pretendo escrever um post sobre como utilizar o InkScape para criação de recursos gráficos para jogos em ActionScript com Flex SDK. Já que o Flash trabalha com imagens vetoriais nativamente, nada mais natural que usar SVG. Aguardem. =D
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2010%2F02%2Fcriando-flash-games-no-linux%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2010%2F02%2Fcriando-flash-games-no-linux%2F&amp;source=CrociDB&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "as3";
            bb_bid  = "186532";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_width = "200";bb_limit = "2";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://crocidb.com/blog/2010/02/criando-flash-games-no-linux/&title=Criando+Flash+Games+no+Linux&srcURL=http://crocidb.com/blog" target="_blank" rel="nofollow"><img
src="http://crocidb.com/blog/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a><p>Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2010/03/criando-flash-games-no-linux-2/' rel='bookmark' title='Criando Flash Games no Linux II'>Criando Flash Games no Linux II</a></li>
<li><a href='http://crocidb.com/blog/2010/07/flash-games-e-smartphones-android/' rel='bookmark' title='Flash Games em Dispositivos Móveis'>Flash Games em Dispositivos Móveis</a></li>
<li><a href='http://crocidb.com/blog/2009/10/por-que-eu-gosto-de-jogos-em-flash/' rel='bookmark' title='Por que eu gosto de jogos em Flash?'>Por que eu gosto de jogos em Flash?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crocidb.com/blog/2010/02/criando-flash-games-no-linux/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Estudando Game Design</title>
		<link>http://crocidb.com/blog/2009/11/estudando-game-design/</link>
		<comments>http://crocidb.com/blog/2009/11/estudando-game-design/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 16:34:50 +0000</pubDate>
		<dc:creator>CrociDB</dc:creator>
				<category><![CDATA[Principal]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[livro]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://crocidb.com/blog/2009/11/estudando-game-design/</guid>
		<description><![CDATA[Algo que eu devo fazer o quanto antes. Apesar da minha área ser programação de jogos, tenho que ter uma boa idéia de game design para criar meus joguinhos para competições. Se você gosta de criação de jogos, demorou para aprender um pouquinho sobre Game Design. Como em todas as outras áreas do conhecimento, há <a href="http://crocidb.com/blog/2009/11/estudando-game-design/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Algo que eu devo fazer o quanto antes. Apesar da minha área ser programação de jogos, tenho que ter uma boa idéia de game design para criar meus joguinhos para competições. Se você gosta de criação de jogos, demorou para aprender um pouquinho sobre <a href="http://crocidb.com/blog/tag/game-design/">Game Design</a>.</p>
<p>Como em todas as outras áreas do conhecimento, há várias formas de aprender sem fazer um curso específico. Aqui vai algumas dicas simples.</p>
<h3>Na internet</h3>
<p>Minha melhor recomendação é o recente <a href="http://gamedesignconcepts.wordpress.com/">curso gratuito de Game Design</a> dado por <a href="https://twitter.com/IanSchreiber">Ian Schreiber</a> – profissional da área de games há algum tempo que já escreveu alguns livros que serão citados adiante. O curso foi dado entre Julho e Setembro, com um fórum para tirar dúvidas e uma wiki com dicas e traduções do curso. Infelizmente a tradução para o português parou logo no primeiro capítulo do curso.</p>
<p>O Ian também tem um blog sobre Game Design, que é o <a href="http://teachingdesign.blogspot.com/">Teaching Game Design</a>, além de escrever no blog <a href="http://bbrathwaite.wordpress.com/">Applied Game Design</a>.</p>
<p>Não podemos de citar sites como <a href="http://www.gamasutra.com/">Gamasutra</a> e <a href="http://www.gamecareerguide.com/">GameCareerGuide</a>, que têm muito texto sobre desenvolvimento, não só na área de Game Design como em outras áreas também. O Gamasutra é considerado como um dos melhores sites quando o assunto é desenvolvimento de games.</p>
<p>Também temos blogs brasileiros sobre o assunto, o <a href="http://www.loodo.com.br/">Loodo</a>, por exemplo, é um ótimo blog sobre game design. <a href="http://www.gamedevbr.com/">GameDevBR</a>, <a href="http://mbg3dmind.wordpress.com/">Desvaneios Digitais Interativos</a>&#160; e o <a href="http://tupinihon.com/blog/">Blog do Tupinihon</a> são outros que você não pode deixar de dar uma olhada, sempre têm dicas sobre o assunto.</p>
<h3>Livros</h3>
<p>Livros são indispensáveis, há vários livros sobre o assunto que são ótimos. A maioria é em inglês, então se você não sabe inglês, esse é o primeiro passo. </p>
<p><a href="https://www.amazon.com/dp/0123694965?tag=cro0c-20&amp;camp=213381&amp;creative=390973&amp;linkCode=as4&amp;creativeASIN=0123694965&amp;adid=1KNAT33NC18K66AXYCXC&amp;"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="ArtOfGameDesign" border="0" alt="ArtOfGameDesign" align="left" src="http://crocidb.com/blog/wp-content/uploads/2009/11/ArtOfGameDesign.jpg" width="103" height="129" /></a> Em português eu poderia citar o <a href="http://www.livrariacultura.com.br/scripts/cultura/externo/index.asp?id_link=6751&amp;tipo=2&amp;isbn=8522106150">Design de Games</a> e o <a href="http://www.submarino.com.br/produto/1/21509346/design+de+jogos:+fundamentos/?franq=285499">Design de Jogos</a>. Não li nennhum dos dois ainda, porém assim que eu o fizer, com certeza postarei aqui um <em>review</em>. </p>
<p>Já em inglês há vários. Como pré-requisito do curso do Ian, há dois livros interessantíssimos, que é o <a href="https://www.amazon.com/dp/1932111972?tag=cro0c-20&amp;camp=213381&amp;creative=390973&amp;linkCode=as4&amp;creativeASIN=1932111972&amp;adid=193JPA0DKH0TBAF9H0XS&amp;">A Theory of Fun</a> e o <a href="https://www.amazon.com/dp/158450580X?tag=cro0c-20&amp;camp=213381&amp;creative=390973&amp;linkCode=as4&amp;creativeASIN=158450580X&amp;adid=16V565GTDDHJ4ESHW65P&amp;">Challanges for Game Designers</a>. E um dos mais falados por aí é o <a href="https://www.amazon.com/dp/0123694965?tag=cro0c-20&amp;camp=213381&amp;creative=390973&amp;linkCode=as4&amp;creativeASIN=0123694965&amp;adid=1KNAT33NC18K66AXYCXC&amp;">The Art of Game Design: A book of lenses</a>. O livro parece realmente muito bom, e você pode constatar isso em vários <em><a href="http://teachingdesign.blogspot.com/2009/10/textbook-review-art-of-game-design.html">reviews</a></em> <a href="http://www.edge-online.com/features/the-best-book-game-design-ever">desse</a> <a href="http://tupinihon.com/blog/index.php/2008/12/31/livro-the-art-of-game-design-a-book-of-lenses/">livro</a>.</p>
</p>
<p>Agora basta&#160; você se empenhar. Material não falta.</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2009%2F11%2Festudando-game-design%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2009%2F11%2Festudando-game-design%2F&amp;source=CrociDB&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "review";
            bb_bid  = "186532";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_width = "200";bb_limit = "2";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://crocidb.com/blog/2009/11/estudando-game-design/&title=Estudando+Game+Design&srcURL=http://crocidb.com/blog" target="_blank" rel="nofollow"><img
src="http://crocidb.com/blog/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a>]]></content:encoded>
			<wfw:commentRss>http://crocidb.com/blog/2009/11/estudando-game-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git, GitHub e Windows</title>
		<link>http://crocidb.com/blog/2009/09/git-github-e-windows/</link>
		<comments>http://crocidb.com/blog/2009/09/git-github-e-windows/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 09:34:40 +0000</pubDate>
		<dc:creator>CrociDB</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[codaset]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[gitorious]]></category>

		<guid isPermaLink="false">http://crocidb.com/blog/2009/09/git-github-e-windows/</guid>
		<description><![CDATA[Eu já tive muito problema para configurar o Git com o GitHub aqui no Windows, na verdade, para fazer a autenticação SSH funcionar, então resolvi compartilhar o que eu fiz com vocês, caso mais alguém teve problemas também. Aproveitando, vou mostrar como criar um repositório no GitHub e falar sobre outros sites do tipo que <a href="http://crocidb.com/blog/2009/09/git-github-e-windows/"> read more <span class="meta-nav">&#187;</span></a>
Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2009/10/viva-opensource/' rel='bookmark' title='Viva, &eacute; OpenSource'>Viva, &eacute; OpenSource</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Eu já tive muito problema para configurar o <a href="http://git-scm.com/">Git</a> com o <a href="http://github.com/">GitHub</a> aqui no Windows, na verdade, para fazer a autenticação SSH funcionar, então resolvi compartilhar o que eu fiz com vocês, caso mais alguém teve problemas também. Aproveitando, vou mostrar como criar um repositório no GitHub e falar sobre outros sites do tipo que usam Git.</p>
<h3>Fazendo funcionar</h3>
<p>Primeiro de tudo, instale o Git com o msys, que é um “emulador” de Bash para Windows, <a href="http://code.google.com/p/msysgit/downloads/list">aqui</a>. Na instalação, só tenha certeza que a opção <em>“Use OpenSSH”</em> está ativa.</p>
<p>Pronto, agora nós precisamos criar uma chave SSH, para isso, abra o Git Bash, e digite:</p>
<pre class="brush: plain; title: ; notranslate">$ cd ~/.ssh/</pre>
<p>Caso a pasta .ssh não exista, então crie:</p>
<pre class="brush: plain; title: ; notranslate">$ mkdir .ssh</pre>
<p>Agora então entre nela. Vamos definir os seus dados no Git:</p>
<pre class="brush: plain; title: ; notranslate">$ git config --global user.name &quot;Bruno Croci&quot;
$ git config --global user.email email@seila.com</pre>
<p>Agora criamos a chave SSH:</p>
<pre class="brush: plain; title: ; notranslate">$ ssh-keygen -t rsa -C &quot;email@seila.com&quot;</pre>
<p>É interessante que você use o mesmo email que usou para cadastrar no GitHub. Ele vai fazer uma série de perguntas, como onde você quer salvar, apenas dê enter, vai perguntar também se você quer colocar uma senha de acesso, é bom colocar, mas não necessário.</p>
<p>Agora você vai na sua conta no GitHub, e em account. Na parte de <em>SSH Public Keys</em>, você vai clicar em <em>add another public key</em>, então você vai agora lá na pasta<em> .ssh</em> que você criou na home – se você tiver no Windows XP é <em><span style="text-decoration: underline;">C:\Documents and Seetings\Usuario\.ssh\</span></em>, caso esteja no Windows Vista ou superior, é <em><span style="text-decoration: underline;">C:\Users\Usuario\.ssh\</span></em> – e vai abrir o arquivo <em>id_rsa.pub</em>, vai copiar o seu conteúdo <strong>exatamente</strong> igual, sem nenhuma quebra de linha a mais nem a menos e vai colar no campo Key da página, o título você pode colocar qualquer coisa. Então adicione essa chave.</p>
<p>Lembrando que essa chave é criada de acordo com o computador, então em cada computador que você quiser acessar sua conta, vai ter que criar uma chave nova e então adicioná-la à sua conta no site.</p>
<p>Agora volte para o console aberto e teste com:</p>
<pre class="brush: plain; title: ; notranslate">$ ssh git@github.com</pre>
<p>(esse passo provavelmente não vai funcionar no codaset, caso esteja configurando ele, pule este teste)</p>
<p>Caso você tenha setado uma senha na criação da chave, ele irá perguntar, coloque-a e veja o que ele diz. Se você fez tudo exatamente como mostrado, ele vai mostrar uma mensagem dizendo que conseguiu conectar.</p>
<p><script type="text/javascript"><!--
google_ad_client = "ca-pub-1568196986346072";
/* MiddlePost */
google_ad_slot = "8119767824";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>E agora?</h3>
<p>Se o SSH conseguiu conectar, agora tudo já funcioina perfeitamente, mas e agora? Que tal criarmos um repositório? Primeiro de tudo, vá na pasta do seu projeto e crie o repositório assim:</p>
<pre class="brush: plain; title: ; notranslate">$ git init</pre>
<p>Lembre-se de ter um arquivo README nessa pasta com a descrição do repositório. Agora adicione todos os arquivos dando um:</p>
<pre class="brush: plain; title: ; notranslate">$ git add .</pre>
<p>Comite tudo isso:</p>
<pre class="brush: plain; title: ; notranslate">$ git commit -m &quot;Primeiro Commit. =D&quot;</pre>
<p>Agora vá no GitHub, crie um repositório novo. Precisamos avisar este repositório local, que ele deve sincronizar com o do site, então faça assim:</p>
<pre class="brush: plain; title: ; notranslate">$ git remote add origin git@github:SeuLogin/NomeDoRepositorio.git</pre>
<p>Agora vamos sincronizar este repositório com o remoto:</p>
<pre class="brush: plain; title: ; notranslate">$ git push origin master</pre>
<p>Pronto, você já sincronizou todo o projeto.</p>
<h3>Além do GitHub?</h3>
<p>Você pode usar outros serviços do tipo, além do GitHub, como por exemplo o <a href="http://gitorious.org/">Gitorious</a>, ou o <a href="http://codaset.com/">Codaset</a>. O Codaset é um serviço que está em Beta ainda, mas achei bem legal. Apesar de não ter muitas coisas diferente dos outros.</p>
<p>Todos os passos que eu dei aqui são iguais para qualquer serviço, basta que você cadastre sua chave ssh no serviço que você for usar.</p>
<p>Se você quiser conferir alguns projetos meus, você pode acessar minhas contas no <a href="http://codaset.com/crocidb">Codaset</a> e no <a href="http://github.com/CrociDB">GitHub</a>.</p>
<h3>Não sei NADA de Git…</h3>
<p>Sem problemas, eu também só sei comitar, e sincronizar os repositórios. Por isso você pode dar uma lida no livro <a href="http://www.slideshare.net/slide_user/magia-git?src=embed">Magia Git</a>, que é muito bom.</p>
<p>Só para constar, esse pequeno tutorial foi baseado no tutorial do GitHub sobre <a href="http://help.github.com/msysgit-key-setup/">geração de chaves SSH</a>.
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2009%2F09%2Fgit-github-e-windows%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2009%2F09%2Fgit-github-e-windows%2F&amp;source=CrociDB&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "gitorious";
            bb_bid  = "186532";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_width = "200";bb_limit = "2";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://crocidb.com/blog/2009/09/git-github-e-windows/&title=Git,+GitHub+e+Windows&srcURL=http://crocidb.com/blog" target="_blank" rel="nofollow"><img
src="http://crocidb.com/blog/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a><p>Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2009/10/viva-opensource/' rel='bookmark' title='Viva, &eacute; OpenSource'>Viva, &eacute; OpenSource</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crocidb.com/blog/2009/09/git-github-e-windows/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Como desenvolver um jogo em pouco tempo</title>
		<link>http://crocidb.com/blog/2009/09/como-desenvolver-um-jogo-em-pouco-tempo/</link>
		<comments>http://crocidb.com/blog/2009/09/como-desenvolver-um-jogo-em-pouco-tempo/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 20:14:13 +0000</pubDate>
		<dc:creator>CrociDB</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gamedev]]></category>

		<guid isPermaLink="false">http://crocidb.com/blog/2009/09/como-desenvolver-um-jogo-em-pouco-tempo/</guid>
		<description><![CDATA[Acho que isso é um pequeno guia. Não que se você segui-lo você conseguirá criar um jogasso, mas acho que ajuda bastante. Eu participo bastante de competições de games rápidas, e uso muito essas dias que eu vou dar aqui. É muito bom para competições de 48 a  72 horas. Parte1 – Antes de tudo <a href="http://crocidb.com/blog/2009/09/como-desenvolver-um-jogo-em-pouco-tempo/"> read more <span class="meta-nav">&#187;</span></a>
Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2008/12/meu-jogo-para-o-christmashack-08/' rel='bookmark' title='Meu jogo para o ChristmasHack &#039;08'>Meu jogo para o ChristmasHack &#039;08</a></li>
<li><a href='http://crocidb.com/blog/2008/01/meu-jogo-para-o-contest-de-mobile/' rel='bookmark' title='Meu jogo para o Contest de Mobile'>Meu jogo para o Contest de Mobile</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Acho que isso é um pequeno guia. Não que se você segui-lo você conseguirá criar um jogasso, mas acho que ajuda bastante. Eu participo bastante de competições de games rápidas, e uso muito essas dias que eu vou dar aqui. É muito bom para competições de 48 a  72 horas.</p>
<h4>Parte1 – Antes de tudo</h4>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Time" src="http://crocidb.com/blog/wp-content/uploads/2009/09/Time.jpg" border="0" alt="Time" width="244" height="184" align="right" /> Primeiro de tudo, é essencial que você possua o tempo necessário, ou seja, que nos dias que você separar (ou nos dias do contest) você esteja livre. Tão importante quanto isso é ter todas as ferramentas que você vai usar previamente instaladas. Já pensou se você vai instalar os programas depois que liberarem as regras?</p>
<p>É muito útil se você tiver uma estrutura do jogo já pronta, facilitando ainda mais o desenvolvimento. Nos meus jogos em Allegro, eu já tenho várias classes prontas, e uma estrutura padrão que eu uso em todos os jogos de contests rápidos. Não é a melhor estrutura, porém é suficiente.</p>
<h4>Parte 2 – Desenvolvimento</h4>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Draw" src="http://crocidb.com/blog/wp-content/uploads/2009/09/Draw.jpg" border="0" alt="Draw" width="244" height="164" align="left" /> Logo que sair as regras, você já vai ter tudo preparado para desenvolver o game, mas não caia na tentação, <strong>não</strong> vá programar na hora. Agora é que vem a parte mais difícil de tudo isso: Fazer o design do jogo. Nessa hora pegue um papel, um lápis e fique lá escrevendo e desenhando tudo o que puder sobre o tema. É claro, dependendo do tema, é interessante que você faça uma pesquisa sobre ele, às vezes isso ajuda muito.</p>
<p>Nós não temos tempo de prototipação, ou seja, você terá que fazer todo o protótipo do jogos na cabeça. Testá-lo várias vezes. Lembre-se de uma regra muito importante do GameDesign, que é prototipar, testar, modificar e começar esse ciclo novamente. Ou seja, assim que tiver uma idéia jogável, “jogue” na sua mente, veja o que precisa ser mudado, jogue-o novamente, e assim por diante. Não pare até ver que seu jogo realmente ficou interessante e implementável – lembre-se que você tem pouco tempo para tornná-lo realidade.</p>
<p>Gostou da idéia que teve? Então documente-a rapidamente num arquivo texto, ou na sua folha de papel mesmo, com todos aqueles desenhos que você fez. Acho que aqui vem uma parte muito importante, definir <em>TODO</em>s. Crie um arquivo e coloque lá, em lista, as tarefas para o desenvolvimento do game. Divida todo o desenvolvimento do jogo em pequenas partes, e em ordem. É muito mais difícil você desenvolver algo sem ter pequenas metas, você vai ver que isso ajuda muito.</p>
<p><a href="http://crocidb.com/blog/wp-content/uploads/2009/09/programming.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="programming" src="http://crocidb.com/blog/wp-content/uploads/2009/09/programming_thumb.jpg" border="0" alt="programming" width="188" height="142" align="right" /></a> Agora então comece a programação. Programe seguindo a lista de tarefas criada anteriormente. Não é necessário comentar muito seu código, mas é aconselhável. Não se preocupe muito com POG, só tome cuidado para que isso não saia do seu controle. O tempo é curto, não dá para ficar refatorando cada testezinho que você faz, isso é verdade, mas não deixe o código muito ilegível também. Além de tudo, tem que tomar cuidado para  não criar algorítimos ineficientes, não precisa usar algorítimos ótimos a todo momento, mas também não queremos o jogo lento por causa de algorítimos mal criados.</p>
<p>Faça os gráficos do seu jogo. Não precisa terminar todo o jogo para criar os gráficos, eu acho ótimo dar uma break na programação para desenhar um pouco. Garanto que isso dá uma relaxada.</p>
<h4>Parte 3 – Algumas dicas…</h4>
<ul>
<li><strong>Durma</strong> – é <strong>muito</strong> importante que você durma. Não ache que vai ficar todo o tempo codando que você não vai aguentar, e depois que você está com sono, começa a fazer algumas coisas meio sem lógica, o que aqui não se encaixa muito bem, precisamos muito de lógica.</li>
<li><strong>Breaks</strong> – faça pausas no desenvolvimento. Não muito demoradas, porque senão você perde a linha de raciocínio. Entretanto, pausas são muito eficientes. Eu aconselharia você a jogar algum joguinho nelas, porém algo bem rápido e divertido. Não gaste mais que dez minutos em cada pausa. Lembre-se também que elas gastam tempo, e você não tem muito.</li>
<li><strong>Alimentação</strong> – faça uma alimentação saudável, pelo menos no tempo de desenvolvimento. Não coma muito, nem coisas muito gordurosas, elas podem te fazer passar mal, e isso não é nada interessante. Mas também aconselho comer chocolate, sem exagero. Chocolate é ótimo porque dá prazer, e te livra um pouco da tensão.</li>
<li><strong>Beba</strong> – essa é uma dica que eu adoro. Beba muito líquido. Nem que seja água. Pode ser café, leite, chá, refrigerante. Só tome cuidado, quando eu digo para beber muito, não é para exagerar. Lembre-se que tudo em exagero pode fazer mal. Eu, por exemplo, adoro chá gelado, ou então coca-cola.</li>
</ul>
<p><a href="http://crocidb.com/blog/wp-content/uploads/2009/09/tea.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="tea" src="http://crocidb.com/blog/wp-content/uploads/2009/09/tea_thumb.jpg" border="0" alt="tea" width="244" height="244" align="right" /></a></p>
<p>Espero que essas dicas ajudem, pois para mim são muito úteis.</p>
<p>Referências e complementos:</p>
<ul>
<li><a href="http://sol.gfxile.net/ldsurvival.html">Ludum Dare Survival Guide</a></li>
<li><a href="http://www.gamasutra.com/view/feature/2438/how_to_prototype_a_game_in_under_7_.php">How to prototype a game in Under 7 Days</a></li>
<li><a href="http://www.gamecareerguide.com/features/771/minimal_risk_designs_how_to_.php?page=1">How to design a game when you don’t have time</a></li>
</ul>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2009%2F09%2Fcomo-desenvolver-um-jogo-em-pouco-tempo%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2009%2F09%2Fcomo-desenvolver-um-jogo-em-pouco-tempo%2F&amp;source=CrociDB&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "gamedev";
            bb_bid  = "186532";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_width = "200";bb_limit = "2";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://crocidb.com/blog/2009/09/como-desenvolver-um-jogo-em-pouco-tempo/&title=Como+desenvolver+um+jogo+em+pouco+tempo&srcURL=http://crocidb.com/blog" target="_blank" rel="nofollow"><img
src="http://crocidb.com/blog/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a><p>Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2008/12/meu-jogo-para-o-christmashack-08/' rel='bookmark' title='Meu jogo para o ChristmasHack &#039;08'>Meu jogo para o ChristmasHack &#039;08</a></li>
<li><a href='http://crocidb.com/blog/2008/01/meu-jogo-para-o-contest-de-mobile/' rel='bookmark' title='Meu jogo para o Contest de Mobile'>Meu jogo para o Contest de Mobile</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crocidb.com/blog/2009/09/como-desenvolver-um-jogo-em-pouco-tempo/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Gamedev Resources</title>
		<link>http://crocidb.com/blog/2009/01/gamedev-resources/</link>
		<comments>http://crocidb.com/blog/2009/01/gamedev-resources/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 13:36:10 +0000</pubDate>
		<dc:creator>CrociDB</dc:creator>
				<category><![CDATA[Principal]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[allegro]]></category>
		<category><![CDATA[gamedev]]></category>

		<guid isPermaLink="false">http://crocidb.wordpress.com/?p=268</guid>
		<description><![CDATA[Primeiramente eu gostaria de desejar a todos um Feliz Ano Novo, e que 2009 seja muito bom para todos vocês. Então&#8230; são 11 da manhã de primeiro de janeiro e eu não durmi até agora desde ontem, acho que nem vou durmir mesmo, só à noite agora. Eu fiquei passeando pela internet essa noite e <a href="http://crocidb.com/blog/2009/01/gamedev-resources/"> read more <span class="meta-nav">&#187;</span></a>
Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2009/04/gamedev-com-ruby/' rel='bookmark' title='GameDev com Ruby'>GameDev com Ruby</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Primeiramente eu gostaria de desejar a todos um Feliz Ano Novo, e que 2009 seja muito bom para todos vocês.</p>
<p>Então&#8230; são 11 da manhã de primeiro de janeiro e eu não durmi até agora desde ontem, acho que nem vou durmir mesmo, só à noite agora. Eu fiquei passeando pela internet essa noite e encontrei algumas coisas interessantes, que eu tinha que compartilhar com vocês, não é nada muito novo, mas eu não conhecia, então muita gente aí também pode não conhecer também&#8230;</p>
<p>No youtube, achei uns canais interessantes sobre GameDev, um deles é o do <a href="http://br.youtube.com/user/GyroVorbis">GyroVorbis</a>, que além de ter alguns vídeos explicando sobre desenvolvimento de jogos em si, tem uma série muito interessante que ele fez com a &#8220;equipe&#8221; dele. <strong>Adventures in Game Development</strong> tem 15 capítulos, sendo que alguns capítulos são separados em partes. Eles todos se juntaram para desenvolver uma engine para rodar em PC e Dreamcast, cada vez vão para a casa de alguém, é uma bagunça. Um programa a engine, o outro o MapEditor, o outro os scripts (em lua), e eles zoam muito, é muito legal! Passei a noite inteira vendo os vídeos deles. Vale a pena conferir, veja o primeiro capítulo:</p>
<p><a href="http://br.youtube.com/watch?v=iimLO5UkWYg">Adventures in Game Development Chapter 1</a></p>
<p>Depois vai olhando os outros.</p>
<p>É claro, é indispensável um pouco de conhecimento em inglês, mas nem tanto, se você não é muito bom, vai ouvindo com atenção e assistindo os vídeos, são muito bons.</p>
<p>Não deixe de conferir os outros vídeos do mesmo canal, tem uns dando dicas sobre gamedev.</p>
<p>Também tem outro canal muito interessante, que é o da <a href="http://br.youtube.com/user/LusikkaMage">LusikkaMage</a>, ela tem vários tutoriais sobre C/C++, Winsock, Allegro (<a href="http://br.youtube.com/view_play_list?p=F7751CD292F3D4BA">uma playlist</a> com uns 16 vídeos sobre allegro) e até tutorial de sprites!</p>
<p>A Rachel (dona desse canal) também ajuda os caras lá encima, mas só com sprites.</p>
<p>Fora isso tudo aí, em algum lugar que eu não lembro mais, achei um site com vários <a href="http://videotutorialsrock.com/">vídeo tutoriais de OpenGL</a>. Claro, ele está em inglês também, por isso que eu digo, é melhor você começar a estudar mais inglês se quiser ingressar na área de GameDev! hehehe</p>
<hr />
<p>Navegando pelos meus Feeds, também encontrei uma Lib para C++ para programação fácil de jogos 2D (e 3D também, vai) acelerados por hardware via Direct3D. É a <a href="http://www.indielib.com/">IndieLib</a>. Na verdade ela foi feita para a implementação de &#8216;protótipos&#8217; de jogos, por ser fácil de implementar. Não mexi nela ainda, mas me parece ser bem amigável.</p>
<p>Ahh, e não é por que ela foi feita para fazer protótipos de jogos que você não possa criar um jogo sério nela, você pode sim, inclusive acho que ela seja boa para iniciantes ou pessoas que queiram resultados rápidos.</p>
<p>Vale a pena dar uma olhada e uma fuçada! hehehe</p>
<hr />
<p>Vou deixar um link muito interessante que é essa lista de ferramentas e libs para programação de jogos (tudo free):</p>
<p><a href="http://www.twilightsembrace.com/personal/gamelibs.php">Free Game Development Libraries</a></p>
<p>Tem mais coisa lá que você pode imaginar! hehehe</p>
<hr />
<p>Ahh, e como o <a href="http://www.rodrigoflausino.com/blog/">Flausino</a> postou no <a href="http://www.gamedevbr.com/ano-novo-tudo-novo/">GamedevBR</a>: <em>&#8220;Ano novo, tudo novo&#8221;</em>, eu to cheio desse layout aqui, to querendo mudar, mas eu queria mesmo é estrear com novo tema quando eu colocar ele em um servidor e domínio próprio, mas eu to vendo que não vai ser para agora, talvez mês que vem só&#8230; então quem sabe eu mude! =D
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2009%2F01%2Fgamedev-resources%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2009%2F01%2Fgamedev-resources%2F&amp;source=CrociDB&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "gamedev";
            bb_bid  = "186532";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_width = "200";bb_limit = "2";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://crocidb.com/blog/2009/01/gamedev-resources/&title=Gamedev+Resources&srcURL=http://crocidb.com/blog" target="_blank" rel="nofollow"><img
src="http://crocidb.com/blog/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a><p>Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2009/04/gamedev-com-ruby/' rel='bookmark' title='GameDev com Ruby'>GameDev com Ruby</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crocidb.com/blog/2009/01/gamedev-resources/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Jogos com AJAX</title>
		<link>http://crocidb.com/blog/2008/07/jogos-com-ajax/</link>
		<comments>http://crocidb.com/blog/2008/07/jogos-com-ajax/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 18:51:19 +0000</pubDate>
		<dc:creator>CrociDB</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Jogos Online]]></category>
		<category><![CDATA[opensocial]]></category>
		<category><![CDATA[orkut]]></category>

		<guid isPermaLink="false">http://crocidb.wordpress.com/2008/07/22/jogos-com-ajax/</guid>
		<description><![CDATA[Ajax é uma tecnologia em JavaScript que permite que dados sejam carregados numa página sem que ela seja recarregada. Simples, não? Sim! E com essa simplicidade, imagina quantas coisas não é possível fazer? Um exemplo bem simples, são aqueles jogos de Orkut, que eu já até citei aqui. A integração com a rede social é <a href="http://crocidb.com/blog/2008/07/jogos-com-ajax/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codimark.com/blog/2008/tutorial-ajax-asynchronous-javascript-e-xml/">Ajax</a> é uma tecnologia em JavaScript que permite que dados sejam carregados numa página sem que ela seja recarregada. Simples, não? Sim! E com essa simplicidade, imagina quantas coisas não é possível fazer?</p>
<p>Um exemplo bem simples, são aqueles jogos de Orkut, que eu já até <a href="http://crocidb.wordpress.com/2008/05/16/jogos-para-orkut/">citei aqui</a>. A integração com a rede social é feita através da <a href="http://crocidb.wordpress.com/2008/04/05/aplicaes-opensocial-para-o-orkut/">API OpenSocial</a>, porém a jogabilidade, muitos multiplayer e não só dentro da rede social, podendo jogar com <em>guests</em>, é feita, na maioria das vezes com AJAX. Claro, nem sempre, tem muitos jogos lá desenvolvidos com flash.</p>
<p>Flash, seria talvez uma alternativa ao AJAX. Ambos se comunicam com o servidor de formas muito parecidas, via arquivos <a href="http://crocidb.wordpress.com/2007/11/19/um-pouco-de-xml/">XML</a>.</p>
<p>Servidor? Sim, tem que ter um servidor rodando, um servidor web. Esse servidor vai receber as informações dos jogos e então repassar aos clientes. O servidor pode ser feito em qualquer linguagem de programação, claro que eu recomendo PHP.</p>
<p>Tudo que ele faz é receber <em>requests</em> processar os dados e elaborar um XML de resposta, que será enviado ao cliente. Então o cliente trata este XML, e exibe as alterações na tela pelo JavaScript.</p>
<p>Claro que para tudo isso, o mais necessário é o domínio no JavaScript, pois ele além de mexer com toda a parte visual (na minha opnião, o mais complicado), ele vai enviar os <em>requests</em>, e quando receber a resposta, vai tratar o XML e exibir ao usuário. Sem contar que tem que tratar muitos erros, e exceções que acontecerão com o ajax, por causa das incompatibilidades.</p>
<p>Para isso existem alguns Frameworks para ajudar no trabalho, dentre elas a <a href="http://mootools.net/">MooTools</a>, <a href="http://www.prototypejs.org/">Prototype</a> e a <a href="http://jquery.com/">jQuery</a>. Nunca use a MooTools. A Prototype é legalzinha, mas a que mais gostei mesmo foi a jQuery. Ela é bem completa, e além de tudo isso, aceita plugins, que você pode achar muitos por aí, que façam qualquer coisa.</p>
<p>Com um framework tudo pode ficar mais fácil. Aí então o próximo passo é a segurança. Por ser uma tecnologia Client-Side e em modo texto, todos podem ver os fontes do seus códigos JS, fica muito mais fácil de seu jogo ser hackeado. Então a segurança é um ponto crucial aqui.</p>
<p>Bom, tendo uma boa noção de JS e/ou de algum framework, segurança, só falta uma boa idéia de jogo e um bom design, e então é mão na massa.</p>
<p>Vale a pena investir em jogos via browser sim, principalmente se eles tiverem integrações com redes sociais via OpenSocial, pois é um passatempo que muita gente, hoje, usa.</p>
<p>(Muito obrigado ao Rodrigo pela idéia do post, sei que isso não te ajuda em nada, mas talvez possa ajudar outra pessoa por aí&#8230; hehehe)</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2008%2F07%2Fjogos-com-ajax%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2008%2F07%2Fjogos-com-ajax%2F&amp;source=CrociDB&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "orkut";
            bb_bid  = "186532";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_width = "200";bb_limit = "2";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://crocidb.com/blog/2008/07/jogos-com-ajax/&title=Jogos+com+AJAX&srcURL=http://crocidb.com/blog" target="_blank" rel="nofollow"><img
src="http://crocidb.com/blog/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a>]]></content:encoded>
			<wfw:commentRss>http://crocidb.com/blog/2008/07/jogos-com-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Input de Mouse e Teclado no Java</title>
		<link>http://crocidb.com/blog/2008/05/input-de-mouse-e-teclado-no-java/</link>
		<comments>http://crocidb.com/blog/2008/05/input-de-mouse-e-teclado-no-java/#comments</comments>
		<pubDate>Fri, 30 May 2008 20:04:54 +0000</pubDate>
		<dc:creator>CrociDB</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://crocidb.wordpress.com/?p=158</guid>
		<description><![CDATA[Um tutorial interessante para dar input de Mouse e Teclado no Java é esse aqui da GameDev.net: Java Games: Keyboard and Mouse Ele explica como fazer a detecção de input tudo pela mesma thread, diferente do método padrão do java, que é por eventos, o que cria threads separadas para cada input, dificultando muitas vezes <a href="http://crocidb.com/blog/2008/05/input-de-mouse-e-teclado-no-java/"> read more <span class="meta-nav">&#187;</span></a>
Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2008/11/matematica-aplicada-fps-com-java/' rel='bookmark' title='Matemática aplicada: FPS com Java'>Matemática aplicada: FPS com Java</a></li>
<li><a href='http://crocidb.com/blog/2008/04/conectando-a-um-bd-access-com-java/' rel='bookmark' title='Conectando a um BD Access com Java'>Conectando a um BD Access com Java</a></li>
<li><a href='http://crocidb.com/blog/2007/12/sistema-comercial-em-java/' rel='bookmark' title='Sistema Comercial em Java'>Sistema Comercial em Java</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Um tutorial interessante para dar input de Mouse e Teclado no Java é esse aqui da GameDev.net:</p>
<p><a href="http://www.gamedev.net/reference/programming/features/javainput/">Java Games: Keyboard and Mouse</a></p>
<p>Ele explica como fazer a detecção de input tudo pela mesma thread, diferente do método padrão do java, que é por eventos, o que cria threads separadas para cada input, dificultando muitas vezes a programação de jogos.</p>
<p>Se você está aprendendo também, vale a pena dar uma olhadinha. <img src='http://crocidb.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2008%2F05%2Finput-de-mouse-e-teclado-no-java%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2008%2F05%2Finput-de-mouse-e-teclado-no-java%2F&amp;source=CrociDB&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "Java";
            bb_bid  = "186532";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_width = "200";bb_limit = "2";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://crocidb.com/blog/2008/05/input-de-mouse-e-teclado-no-java/&title=Input+de+Mouse+e+Teclado+no+Java&srcURL=http://crocidb.com/blog" target="_blank" rel="nofollow"><img
src="http://crocidb.com/blog/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a><p>Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2008/11/matematica-aplicada-fps-com-java/' rel='bookmark' title='Matemática aplicada: FPS com Java'>Matemática aplicada: FPS com Java</a></li>
<li><a href='http://crocidb.com/blog/2008/04/conectando-a-um-bd-access-com-java/' rel='bookmark' title='Conectando a um BD Access com Java'>Conectando a um BD Access com Java</a></li>
<li><a href='http://crocidb.com/blog/2007/12/sistema-comercial-em-java/' rel='bookmark' title='Sistema Comercial em Java'>Sistema Comercial em Java</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crocidb.com/blog/2008/05/input-de-mouse-e-teclado-no-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fade In/Out com Allegro</title>
		<link>http://crocidb.com/blog/2008/04/fade-inout-com-allegro/</link>
		<comments>http://crocidb.com/blog/2008/04/fade-inout-com-allegro/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 23:02:28 +0000</pubDate>
		<dc:creator>CrociDB</dc:creator>
				<category><![CDATA[Códigos]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[allegro]]></category>
		<category><![CDATA[fade in]]></category>
		<category><![CDATA[fade out]]></category>

		<guid isPermaLink="false">http://crocidb.wordpress.com/?p=144</guid>
		<description><![CDATA[Há um tempinho atrás eu postei um código de Fade in/out com fblend que eu adaptei do código que peguei no Allegro.cc. Mas eu nem pensei, que tem gente que não precisa usar a fblend (ainda), e sempre me perguntam como fazer isso. Então vou postar aqui como usar aquele código. Acredito que o jeito <a href="http://crocidb.com/blog/2008/04/fade-inout-com-allegro/"> read more <span class="meta-nav">&#187;</span></a>
Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2008/04/fade-inout-com-fblend-no-allegro/' rel='bookmark' title='Fade In/Out com fblend no Allegro'>Fade In/Out com fblend no Allegro</a></li>
<li><a href='http://crocidb.com/blog/2008/04/entrada-de-texto-no-allegro/' rel='bookmark' title='Entrada de Texto no Allegro'>Entrada de Texto no Allegro</a></li>
<li><a href='http://crocidb.com/blog/2008/01/fontes-ttf-no-allegro/' rel='bookmark' title='Fontes TTF no Allegro'>Fontes TTF no Allegro</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Há um tempinho atrás eu postei um código de <a href="http://crocidb.wordpress.com/2008/04/06/fade-inout-com-fblend-no-allegro/">Fade in/out com fblend</a> que eu adaptei do código que peguei no Allegro.cc. Mas eu nem pensei, que tem gente que não precisa usar a fblend (ainda), e sempre me perguntam como fazer isso. Então vou postar aqui como usar <a href="http://www.allegro.cc/resource/code/fade.php">aquele código</a>.</p>
<p>Acredito que o jeito mais fácil, seja adicionar estas funções no seu arquivo fonte:</p>
<pre class="brush: cpp; title: ; notranslate">void highcolor_fade_in(BITMAP *bmp_orig, int speed)
{
   BITMAP *bmp_buff;

    if ((bmp_buff = create_bitmap(SCREEN_W, SCREEN_H)))
    {
        int a;
        if (speed &lt;= 0) speed = 16;

        for (a = 0; a &lt; 256; a+=speed)
        {
            clear(bmp_buff);
            set_trans_blender(0,0,0,a);
            draw_trans_sprite(bmp_buff, bmp_orig, 0, 0);
            vsync();
            blit(bmp_buff, screen, 0,0, 0,0, SCREEN_W, SCREEN_H);
        }
        destroy_bitmap(bmp_buff);
    }

    blit(bmp_orig, screen, 0,0, 0,0, SCREEN_W, SCREEN_H);
}

void highcolor_fade_out(int speed)
{
    BITMAP *bmp_orig, *bmp_buff;

    if ((bmp_orig = create_bitmap(SCREEN_W, SCREEN_H)))
    {
        if ((bmp_buff = create_bitmap(SCREEN_W, SCREEN_H)))
        {
            int a;
            blit(screen, bmp_orig, 0,0, 0,0, SCREEN_W, SCREEN_H);
            if (speed &lt;= 0) speed = 16;

            for (a = 255-speed; a &gt; 0; a-=speed)
            {
                clear(bmp_buff);
                set_trans_blender(0,0,0,a);
                draw_trans_sprite(bmp_buff, bmp_orig, 0, 0);
                vsync();
                blit(bmp_buff, screen, 0,0, 0,0, SCREEN_W, SCREEN_H);
            }
            destroy_bitmap(bmp_buff);
        }
        destroy_bitmap(bmp_orig);
    }

    rectfill(screen, 0,0, SCREEN_W,SCREEN_H, makecol(0,0,0));
}</pre>
<p>E depois só chamar as funções, mas você pode criar um arquivo fonte, colocar estas funções e então criar um arquivo header e colocar as respectivas declarações das funções.</p>
<p>Tá, mas como se usa?</p>
<p>Assim&#8230; A função fade_in, vai do pretão para uma imagem, então você tem que ter esta imagem que você quer que apareça (tela inteira) em um BITMAP, então você faz isso:</p>
<pre class="brush: cpp; title: ; notranslate">highcolor_fade_in(bitmap, 16);</pre>
<p>Lembrando que quanto maior for o valor dado a velocidade (no caso ), mas rápido vai ser, e este valor vai de 1 a 255.</p>
<p>Já a função de fade_out, que transforma da imagem atual para o preto, é assim:</p>
<pre class="brush: cpp; title: ; notranslate">highcolor_fade_out(16);</pre>
<p>E a regra para a velocidade é a mesma do fade_in! ^^</p>
<p>Bom, é isso ae pessoal, artigo simples para iniciantes! <img src='http://crocidb.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Flw
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2008%2F04%2Ffade-inout-com-allegro%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2008%2F04%2Ffade-inout-com-allegro%2F&amp;source=CrociDB&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "fade out";
            bb_bid  = "186532";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_width = "200";bb_limit = "2";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://crocidb.com/blog/2008/04/fade-inout-com-allegro/&title=Fade+In/Out+com+Allegro&srcURL=http://crocidb.com/blog" target="_blank" rel="nofollow"><img
src="http://crocidb.com/blog/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a><p>Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2008/04/fade-inout-com-fblend-no-allegro/' rel='bookmark' title='Fade In/Out com fblend no Allegro'>Fade In/Out com fblend no Allegro</a></li>
<li><a href='http://crocidb.com/blog/2008/04/entrada-de-texto-no-allegro/' rel='bookmark' title='Entrada de Texto no Allegro'>Entrada de Texto no Allegro</a></li>
<li><a href='http://crocidb.com/blog/2008/01/fontes-ttf-no-allegro/' rel='bookmark' title='Fontes TTF no Allegro'>Fontes TTF no Allegro</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crocidb.com/blog/2008/04/fade-inout-com-allegro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conectando a um BD Access com Java</title>
		<link>http://crocidb.com/blog/2008/04/conectando-a-um-bd-access-com-java/</link>
		<comments>http://crocidb.com/blog/2008/04/conectando-a-um-bd-access-com-java/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 20:39:04 +0000</pubDate>
		<dc:creator>CrociDB</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[bd]]></category>
		<category><![CDATA[conexão]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[odbc]]></category>

		<guid isPermaLink="false">http://crocidb.wordpress.com/?p=142</guid>
		<description><![CDATA[Eu sei que esse não é o foco principal do blog, mas é uma coisa que me pedem muito, então aí vai! Vamos usar um Banco de Dados Acess com ODBC para conectar com o Java. Tentarei mostrar da forma mais simples possível. Primeiramente, crie um banco de dados no Access e salve em alguma <a href="http://crocidb.com/blog/2008/04/conectando-a-um-bd-access-com-java/"> read more <span class="meta-nav">&#187;</span></a>
Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2007/12/sistema-comercial-em-java/' rel='bookmark' title='Sistema Comercial em Java'>Sistema Comercial em Java</a></li>
<li><a href='http://crocidb.com/blog/2008/05/input-de-mouse-e-teclado-no-java/' rel='bookmark' title='Input de Mouse e Teclado no Java'>Input de Mouse e Teclado no Java</a></li>
<li><a href='http://crocidb.com/blog/2008/11/matematica-aplicada-fps-com-java/' rel='bookmark' title='Matemática aplicada: FPS com Java'>Matemática aplicada: FPS com Java</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Eu sei que esse não é o foco principal do blog, mas é uma coisa que me pedem muito, então aí vai!</p>
<p>Vamos usar um Banco de Dados Acess com ODBC para conectar com o Java. Tentarei mostrar da forma mais simples possível.</p>
<p>Primeiramente, crie um banco de dados no Access e salve em alguma pasta FIXA do seu projeto (um exemplo, crie uma pasta <b>bf</b> na pasta raiz do seu projeto).</p>
<p>Agora abra o Painel de Controle do Windows, vá em Ferramentas Administrativas -&gt; Fonte de Dados (ODBC). Você pode selecionar a aba Fontes de Dados do Sistema, e então clique em Adicionar. Selecione <b>Driver do Microsoft Access (*.mdb)</b> e clique em Concluir, agora coloque um nome para o Alias do seu banco (esse alias serve para interligar o Java ao Banco), clique em Selecionar e escolha o caminho do banco. Pronto, agora pressione OK e pronto! Vamos então para a melhor parte: Programação! =]</p>
<p>Na sua classe, importe:</p>
<pre class="brush: java; title: ; notranslate">import java.sql.*;</pre>
<p>Ela é que contém as classes necessárias para se conectar e manipular o banco.</p>
<p>Agora, dentro da classe, você pode definir uns objetos, um <b>Connection</b>, que manipula a conexão em si, e um <b>Statement</b>, que manipula o banco com querys. Assim:</p>
<pre class="brush: java; title: ; notranslate">public Connection con;
public Statement stm;</pre>
<p>Agora, para facilitar, crie um método chamado <b>Connectar</b>:</p>
<pre class="brush: java; title: ; notranslate">public void Conectar()
	{
		//JOptionPane.showMessageDialog(null, &quot;Preparando para iniciar a conexão com o BD;&quot;);

		try
		{
			/* Tenta se conectar ao Driver */
			Class.forName(&quot;sun.jdbc.odbc.JdbcOdbcDriver&quot;);
		}
		catch (ClassNotFoundException e)
		{
			JOptionPane.showMessageDialog(null, &quot;Impossível carregar o Driver.&quot;);
			System.exit(0);
		}
		try
		{
			/* nomedobanco é o nome que você deu anteriormente ao seu alias */
			con = DriverManager.getConnection(&quot;jdbc:odbc:nomedobanco&quot;);
			stm = con.createStatement();
		}
		catch (SQLException sqle)
		{
			JOptionPane.showMessageDialog(null, &quot;Problema ao conectar!&quot;);
			System.exit(0);
		}

		//JOptionPane.showMessageDialog(null, &quot;Conectado com sucesso!&quot;);
	}</pre>
<p>Você pode descomentar as linhas que mostram uma mensagem antes de se conectar e depois, só para ver como que é! ^^</p>
<p>Crie também uma função para desconectar, e se possível, chame-a antes de sair do seu programa:</p>
<pre class="brush: java; title: ; notranslate">public void Desconectar()
	{
		try
		{
			con.close();
		}
		catch (SQLException sqle)
		{
			JOptionPane.showMessageDialog(null, &quot;Problema ao desconectar!&quot;);
			System.exit(0);
		}
	}</pre>
<p>Basicamente, agora você já pode se conectar e desconectar ao banco de dados! Excelente não?</p>
<p>Tá, imagino agora que você se perguntou: &#8220;Mas como vou manipulá-lo agora?&#8221;! Hmm, Boa pergunta!</p>
<p>Para manipular o Banco de Dados em si, como fazer consultas, inserções, remoções, é necessário a utilização de SQL, portanto se você não sabe, é melhor estudar um pouco! hehehe</p>
<p>Então, voltando para o Java&#8230;</p>
<p>Lembra-se do objeto <b>Statement</b> que criamos? Então, ele é o ponto chave agora! Para executar uma query, você usa o método <b>execute</b> dele, assim:</p>
<pre class="brush: java; title: ; notranslate">stm.execute(&quot;INSERT INTO tabela(nome, idade) VALUES('Bruno', 17)&quot;);</pre>
<p>Porém ele NÃO traz retorno algum, ou seja, se você quiser fazer uma consulta, por exemplo, tem que usar o método <b>executeQuery</b>, que retorna um objeto <b>ResultSet</b>, que contém todo o resgistro retornado do banco de dados, a partir da consulta.</p>
<pre class="brush: java; title: ; notranslate">try
{
	ResultSet rs = stm.executeQuery(&quot;SELECT * FROM tabela&quot;);
	while (rs.next())
	{
		JOptionPane.showMessageDialog(null, &quot;Nome: &quot; + rs.getString(&quot;nome&quot;) + &quot; - Idade: &quot; + rs.getInt(&quot;idade&quot;));
	}
}
catch (SQLException e)
{
	JOptionPane.showMessageDialog(null,&quot;&quot; + e.getMessage(),&quot;Erro&quot;,0);
}
finally
{
	rs.close();
}</pre>
<p>O Objeto ResultSet, tem um método para pegar cada tipo do banco de dados. Dentro dele vai o parâmetro que é o nome do campo a ser pego!</p>
<p>Fácil? Não exatamente! Isso é muito básico, não inútil, mas básico. Portanto, você concerteza vai precisar de mais material, então acesse este <a href="http://www.google.com.br">magnífico site</a> que você vai achar de tudo lá! =D</p>
<p>(Muito Obrigado ao ViniGodoy pela ajuda aqui! =D)</p>
<p>Valeu, até a próximaaa!
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2008%2F04%2Fconectando-a-um-bd-access-com-java%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2008%2F04%2Fconectando-a-um-bd-access-com-java%2F&amp;source=CrociDB&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "odbc";
            bb_bid  = "186532";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_width = "200";bb_limit = "2";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://crocidb.com/blog/2008/04/conectando-a-um-bd-access-com-java/&title=Conectando+a+um+BD+Access+com+Java&srcURL=http://crocidb.com/blog" target="_blank" rel="nofollow"><img
src="http://crocidb.com/blog/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a><p>Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2007/12/sistema-comercial-em-java/' rel='bookmark' title='Sistema Comercial em Java'>Sistema Comercial em Java</a></li>
<li><a href='http://crocidb.com/blog/2008/05/input-de-mouse-e-teclado-no-java/' rel='bookmark' title='Input de Mouse e Teclado no Java'>Input de Mouse e Teclado no Java</a></li>
<li><a href='http://crocidb.com/blog/2008/11/matematica-aplicada-fps-com-java/' rel='bookmark' title='Matemática aplicada: FPS com Java'>Matemática aplicada: FPS com Java</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crocidb.com/blog/2008/04/conectando-a-um-bd-access-com-java/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Fade In/Out com fblend no Allegro</title>
		<link>http://crocidb.com/blog/2008/04/fade-inout-com-fblend-no-allegro/</link>
		<comments>http://crocidb.com/blog/2008/04/fade-inout-com-fblend-no-allegro/#comments</comments>
		<pubDate>Sun, 06 Apr 2008 22:54:09 +0000</pubDate>
		<dc:creator>CrociDB</dc:creator>
				<category><![CDATA[Códigos]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[allegro]]></category>
		<category><![CDATA[fade in]]></category>
		<category><![CDATA[fade out]]></category>
		<category><![CDATA[fblend]]></category>

		<guid isPermaLink="false">http://crocidb.wordpress.com/?p=138</guid>
		<description><![CDATA[Acho que muita gente já deve ter usado aquele famoso código de fade in/out que tem no site da Allegro.cc, certo? Eu mesmo uso ele bastante! Mas como todo mundo também já deve saber, as rotinas de blend da Allegro são lentas, por isso existe a biblioteca addon fblend, que é bem mais rápida. Se <a href="http://crocidb.com/blog/2008/04/fade-inout-com-fblend-no-allegro/"> read more <span class="meta-nav">&#187;</span></a>
Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2008/04/fade-inout-com-allegro/' rel='bookmark' title='Fade In/Out com Allegro'>Fade In/Out com Allegro</a></li>
<li><a href='http://crocidb.com/blog/2008/04/entrada-de-texto-no-allegro/' rel='bookmark' title='Entrada de Texto no Allegro'>Entrada de Texto no Allegro</a></li>
<li><a href='http://crocidb.com/blog/2007/12/motionblur-com-allegro/' rel='bookmark' title='MotionBlur com Allegro'>MotionBlur com Allegro</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Acho que muita gente já deve ter usado aquele famoso código de fade in/out que tem no site da <a href="http://www.allegro.cc">Allegro.cc,</a> certo? Eu mesmo uso ele bastante! Mas como todo mundo também já deve saber, as rotinas de blend da Allegro são lentas, por isso existe a biblioteca addon <b>fblend</b>, que é bem mais rápida.</p>
<p>Se você estiver utilizando ela no seu projeto e desejar usar fade in/out, você pode utilizar estas funções aqui:</p>
<pre class="brush: cpp; title: ; notranslate">
void fade_in(BITMAP *bmp_orig, int speed)
{
   BITMAP *bmp_buff;

    if ((bmp_buff = create_bitmap(SCREEN_W, SCREEN_H)))
    {
        int a;
        if (speed &lt;= 0) speed = 16;

        for (a = 0; a &lt; 256; a+=speed)
        {
            clear(bmp_buff);
            fblend_trans(bmp_orig, bmp_buff, 0, 0, a);
            blit(bmp_buff, screen, 0,0, 0,0, SCREEN_W, SCREEN_H);
        }
        destroy_bitmap(bmp_buff);
    }

    blit(bmp_orig, screen, 0,0, 0,0, SCREEN_W, SCREEN_H);
}

void fade_out(int speed)
{
    BITMAP *bmp_orig, *bmp_buff;

    if ((bmp_orig = create_bitmap(SCREEN_W, SCREEN_H)))
    {
        if ((bmp_buff = create_bitmap(SCREEN_W, SCREEN_H)))
        {
            int a;
            blit(screen, bmp_orig, 0,0, 0,0, SCREEN_W, SCREEN_H);
            if (speed &lt;= 0) speed = 16;

            for (a = 255-speed; a &gt; 0; a-=speed)
            {
                clear(bmp_buff);
                fblend_trans(bmp_orig, bmp_buff, 0, 0, a);
                blit(bmp_buff, screen, 0,0, 0,0, SCREEN_W, SCREEN_H);
            }
            destroy_bitmap(bmp_buff);
        }
        destroy_bitmap(bmp_orig);
    }

    rectfill(screen, 0,0, SCREEN_W,SCREEN_H, makecol(0,0,0));
}
</pre>
<p>Que nada mais são do que aquelas funções que tem no site da A.cc, só que com o fblend, não com o blend do Allegro.</p>
<p>Se você não sabe o que é a fblend, aguarde mais um pouco que logo eu pretendo fazer um tutorialzinho básico de como instalá-la e usá-la! =D</p>
<p>Bom uso!
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2008%2F04%2Ffade-inout-com-fblend-no-allegro%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcrocidb.com%2Fblog%2F2008%2F04%2Ffade-inout-com-fblend-no-allegro%2F&amp;source=CrociDB&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "fblend";
            bb_bid  = "186532";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_width = "200";bb_limit = "2";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://crocidb.com/blog/2008/04/fade-inout-com-fblend-no-allegro/&title=Fade+In/Out+com+fblend+no+Allegro&srcURL=http://crocidb.com/blog" target="_blank" rel="nofollow"><img
src="http://crocidb.com/blog/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a><p>Posts semelhantes:<ol>
<li><a href='http://crocidb.com/blog/2008/04/fade-inout-com-allegro/' rel='bookmark' title='Fade In/Out com Allegro'>Fade In/Out com Allegro</a></li>
<li><a href='http://crocidb.com/blog/2008/04/entrada-de-texto-no-allegro/' rel='bookmark' title='Entrada de Texto no Allegro'>Entrada de Texto no Allegro</a></li>
<li><a href='http://crocidb.com/blog/2007/12/motionblur-com-allegro/' rel='bookmark' title='MotionBlur com Allegro'>MotionBlur com Allegro</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crocidb.com/blog/2008/04/fade-inout-com-fblend-no-allegro/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

