<?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>Kleber Andrade</title>
	<atom:link href="http://kleberandrade.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kleberandrade.wordpress.com</link>
	<description>Projetos pessoais</description>
	<lastBuildDate>Thu, 26 Jan 2012 00:04:46 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='kleberandrade.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/8f9791ab1766bf89cecd1d5b1fb022c0?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Kleber Andrade</title>
		<link>http://kleberandrade.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://kleberandrade.wordpress.com/osd.xml" title="Kleber Andrade" />
	<atom:link rel='hub' href='http://kleberandrade.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Novidades no Portal de Desenvolvimento de Jogos PontoV</title>
		<link>http://kleberandrade.wordpress.com/2011/01/05/novidades-no-portal-de-desenvolvimento-de-jogos-pontov/</link>
		<comments>http://kleberandrade.wordpress.com/2011/01/05/novidades-no-portal-de-desenvolvimento-de-jogos-pontov/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 12:50:49 +0000</pubDate>
		<dc:creator>Kleber Andrade</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Novidades]]></category>

		<guid isPermaLink="false">http://kleberandrade.wordpress.com/?p=1656</guid>
		<description><![CDATA[Olá amigos leitores, colegas gamers e desenvolvedores indie! (parafraseando Lobão) O portal de desenvolvimento de jogos PontoV criado pelos sócios Vinicius Godoy de Mendonça e Bruno Crivelari Sanches completou um ano de atividade. O PontoV é um portal brasileiro, sem fins lucrativos, sobre desenvolvimento de jogos que tem como objetivo ser um ponto de encontro de profissionais [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1656&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá amigos leitores, colegas gamers e desenvolvedores indie! (parafraseando Lobão)</p>
<p style="text-align:justify;">O portal de desenvolvimento de jogos <a href="http://www.pontov.com.br">PontoV</a> criado pelos sócios <a href="http://www.pontov.com.br/site/index.php/colaboradores/54-vinigodoy">Vinicius Godoy de Mendonça</a> e <a href="http://www.pontov.com.br/site/index.php/colaboradores/53-bcsanches">Bruno Crivelari Sanches</a> completou um ano de atividade. O PontoV é um portal brasileiro, sem fins lucrativos, sobre desenvolvimento de jogos que tem como objetivo ser um ponto de encontro de profissionais e amadores desta indústria fascinante, trazendo tutoriais e artigos de qualidade sobre a indústria e técnicas utilizadas.</p>
<p style="text-align:justify;">Para fazer parte dessa equipe eu (Kléber de Oliveira Andrade) acabei me tornando sócio deste incrível portal e por isso o conteúdo relacionado a games do meu blog serão reescritos no portal PontoV para não só unir todos os conhecimentos numa único lugar, mas também porque esperamos que logo se torne referência sobre nosso hobby favorito &#8220;Desenvolvimento de Jogos&#8221; e para isso que isso aconteça, contamos com vocês. Não se assustem, vou continuar escrevendo tutoriais, artigos entre outras atividades, porém você as verão no PontoV de hoje em diante.</p>
<p style="text-align:justify;">Muito obrigado a todos pelos acessos, e esta página no futuro simplesmente contará com meus projetos em andamento.</p>
<p><a href="http://kleberandrade.files.wordpress.com/2011/01/pontov.jpg"><img class="aligncenter size-full wp-image-1657" title="pontov" src="http://kleberandrade.files.wordpress.com/2011/01/pontov.jpg?w=600" alt=""   /></a></p>
<br />Filed under: <a href='http://kleberandrade.wordpress.com/category/noticias/'>Notícias</a>, <a href='http://kleberandrade.wordpress.com/category/novidades/'>Novidades</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kleberandrade.wordpress.com/1656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kleberandrade.wordpress.com/1656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kleberandrade.wordpress.com/1656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kleberandrade.wordpress.com/1656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kleberandrade.wordpress.com/1656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kleberandrade.wordpress.com/1656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kleberandrade.wordpress.com/1656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kleberandrade.wordpress.com/1656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kleberandrade.wordpress.com/1656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kleberandrade.wordpress.com/1656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kleberandrade.wordpress.com/1656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kleberandrade.wordpress.com/1656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kleberandrade.wordpress.com/1656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kleberandrade.wordpress.com/1656/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1656&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kleberandrade.wordpress.com/2011/01/05/novidades-no-portal-de-desenvolvimento-de-jogos-pontov/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ef1f4dadd199e2d1e43fff1cdfc1413?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kleberandrade</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2011/01/pontov.jpg" medium="image">
			<media:title type="html">pontov</media:title>
		</media:content>
	</item>
		<item>
		<title>Boas Festas (Feliz 2011)</title>
		<link>http://kleberandrade.wordpress.com/2010/12/28/boas-festas-feliz-2011/</link>
		<comments>http://kleberandrade.wordpress.com/2010/12/28/boas-festas-feliz-2011/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 23:52:27 +0000</pubDate>
		<dc:creator>Kleber Andrade</dc:creator>
				<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://kleberandrade.wordpress.com/?p=1654</guid>
		<description><![CDATA[Olá galera que frequenta este blog ! Ainda não entrei de férias, como sempre fico fazendo meus trabalhos até o último minuto do ano. Mas o fim do ano vem chegando e muito já estão de férias descansando e não querem nem saber de programar ou fazer outra atividade relacionada ao computador. Vou fazer um [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1654&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Olá galera que frequenta este blog !</p>
<p style="text-align:justify;">Ainda não entrei de férias, como sempre fico fazendo meus trabalhos até o último minuto do ano. Mas o fim do ano vem chegando e muito já estão de férias descansando e não querem nem saber de programar ou fazer outra atividade relacionada ao computador.</p>
<p style="text-align:justify;">Vou fazer um rápido review deste ano  (2010), já que foi um ano bem divertido e interessante. Neste ano o blog começou a ter muitos acessos, comentários, sugestões entre outras movimentos no que fez o número de acesso chegar ao 108mil. Também foi um ano no qual ministrei diversas palestras, cursos de jogos e fiz também algumas viagens por conta disso, duas delas a Campo Grande &#8211; MS no qual conheci muitas pessoas legais desde alunos a professores que troquei experiências e mantenho contato até hoje. Este ano também consegui finalmente ir a SBGames apresentar o trabalho do grupo de participo dentro da USP. No laboratório de Robótica Móvel (LabRoM) foi um ano muito produtivo no qual desencadeou diversos trabalhos e artigos e estamos trabalhando o máximo que podemos e logo acabarei o mestrado também. Alias, passei no doutorado, só falta acabar o mestrado para começar mais uma etapa da vida acadêmica.</p>
<p style="text-align:justify;">Novidades para o próximo ano: provavelmente irei comprar um domínio para poder organizar melhor o blog e até mesmo convidar mais pessoas interessadas a escrever e montar um forum de discussão. Alguns artigos estão para serem escritos uma vez que estamos acabando de falar sobre os jogos 2D. Então irei escrever um artigo agora sobre câmeras, montagem de mapas para jogos de plataforma, física e colisão, tudo isso para montarmos um jogo de plataforma básico. Logo após, irei começar a falar sobre Inteligência Artificial, mas tudo isso no decorrer do ano.</p>
<p style="text-align:justify;">Agradeço então aqui a todos os meus amigos que colaboraram diretamente e indiretamente com este blog  que mantenho para tentar ensinar de maneira mais fácil possível como desenvolver jogos. Agradeço também a todo minha família, a minha namorada que amo tanto e  a todos os leitores deste blog. Pra fechar este tópico, desejo a todos um <strong>Feliz Natal </strong>e um <strong>Próspero Ano Novo</strong> e que 2011 seja ótimo para todos. Fiquem aqui mais um ano com o vídeo do Chiron Beta Prime (acho que é um dos melhores, quem souber outro me mande para mudar no próximo ano).</p>
<p style="text-align:center;"><span style="text-align:center; display: block;"><a href="http://kleberandrade.wordpress.com/2010/12/28/boas-festas-feliz-2011/"><img src="http://img.youtube.com/vi/B3DyxaCYlfg/2.jpg" alt="" /></a></span></p>
<br />Filed under: <a href='http://kleberandrade.wordpress.com/category/diversos/'>Diversos</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kleberandrade.wordpress.com/1654/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kleberandrade.wordpress.com/1654/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kleberandrade.wordpress.com/1654/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kleberandrade.wordpress.com/1654/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kleberandrade.wordpress.com/1654/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kleberandrade.wordpress.com/1654/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kleberandrade.wordpress.com/1654/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kleberandrade.wordpress.com/1654/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kleberandrade.wordpress.com/1654/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kleberandrade.wordpress.com/1654/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kleberandrade.wordpress.com/1654/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kleberandrade.wordpress.com/1654/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kleberandrade.wordpress.com/1654/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kleberandrade.wordpress.com/1654/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1654&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kleberandrade.wordpress.com/2010/12/28/boas-festas-feliz-2011/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ef1f4dadd199e2d1e43fff1cdfc1413?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kleberandrade</media:title>
		</media:content>
	</item>
		<item>
		<title>[C#] Laços de Repetição (WHILE)</title>
		<link>http://kleberandrade.wordpress.com/2010/12/16/c-lacos-de-repeticao-dowhile-parte-2/</link>
		<comments>http://kleberandrade.wordpress.com/2010/12/16/c-lacos-de-repeticao-dowhile-parte-2/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 11:47:08 +0000</pubDate>
		<dc:creator>Kleber Andrade</dc:creator>
				<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[do / while]]></category>
		<category><![CDATA[laços de repetição]]></category>

		<guid isPermaLink="false">http://kleberandrade.wordpress.com/?p=1641</guid>
		<description><![CDATA[Galera novo artigo sobre laços de repetição, complementar ao antigo porém escrito pelo novo colaborador do blog o Diego Correa Gomes Ferreira. Este artigo será voltado para falar de repetição While. Que nada mais é do que uma repetição controlada por contador, possuindo quatro aspectos importantes: Uma variável de controle (ou contador de loop). Um [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1641&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Galera novo artigo sobre laços de repetição, complementar ao antigo porém escrito pelo novo colaborador do blog o Diego Correa Gomes Ferreira. Este artigo será voltado para falar de repetição <strong>While.</strong> Que nada mais é do que uma repetição controlada por contador, possuindo quatro aspectos importantes:</p>
<ol style="text-align:justify;">
<li>Uma <strong>variável de controle</strong> (ou contador de loop).</li>
<li>Um <strong>valor inicial</strong> para controlar a variável.</li>
<li><strong>O incrementador</strong> e o <strong>decrementador</strong>, através da qual a variável de controle é modificada a cada passagem pelo loop.</li>
<li>A <strong>condição para continuação do loop</strong> que determina se o looping deve continuar.</li>
</ol>
<p style="text-align:justify;">Para ver esses aspectos de repetição controlada por contador, considere a aplicação que usa um loop para mostrar números de 1 até 10. Veja no exemplo abaixo:</p>
<p><pre class="brush: csharp;">
Using System;

Public class RepeticaoWhile
{
      Public static void Main ( string[] args )
      {
            int contador = 1;           // Declaração e inicialização da variável de
                                                // controle
	 while ( contador &lt;= 10 )  // Condição de continuação do loop
	 {
	       Console.Write (“ {0} “, contador );
 	       contador++;    // Incrementa a variável de controle
	 }

           Console.WriteLine();     //Escreve uma nova linha em branco
       }
 }

</pre></p>
<p style="text-align:justify;">A variável de controle (<strong>contador</strong>) foi declara como sendo Int, pois nós usaremos apenas valores de 1 até 10. Para uma estrutura de repetição é desnecessário declarar a variável como sendo Double ou Float, pois o contador só funciona com números inteiros, o que não descartaria a hipótese de você utilizá-la com os operadores em uma divisão ou resto, nesse caso basta colocar em parênteses (float) ou (double) para que o seu resultado não saia como sendo um número inteiro, e sim um número decimal. Porém jamais armazene esse valor decimal na variável contador, pois se o loop continuar isso resultará em um erro no seu programa.</p>
<p style="text-align:justify;">Note que o contador é inicializado com o valor 1, logo após é declarada a estrutura de repetição while, que verifica se o valor do contador é menor ou igual a 10. Se ele for menor ou igual a 10, ele é escrito na tela pelo comando <strong>Console.Write</strong>, e logo em seguida ele implementa mais 1 ao valor do contador. A expressão contador++ nada mais é do que uma forma reduzida e prática de (contador = contador + 1), que primeiramente pode ser simplicada por (contador += 1), mas isso fica a cargo das preferências do programador.</p>
<p style="text-align:justify;">Logo após chegar ao final da estrutura de repetição, ele retorna ao início do while e começa tudo novamente, isso é chamado de loop, quando um número fica retornando inúmeras vezes ao começo da estrutura de repetição.</p>
<p style="text-align:justify;"><a href="http://kleberandrade.files.wordpress.com/2010/12/colaborador-diego-correa1.png"><img class="aligncenter size-full wp-image-1645" title="colaborador diego correa" src="http://kleberandrade.files.wordpress.com/2010/12/colaborador-diego-correa1.png?w=600&#038;h=171" alt="" width="600" height="171" /></a></p>
<p style="text-align:justify;">&nbsp;</p>
<br />Filed under: <a href='http://kleberandrade.wordpress.com/category/algoritmos/'>Algoritmos</a>, <a href='http://kleberandrade.wordpress.com/category/c/'>C#</a>, <a href='http://kleberandrade.wordpress.com/category/tutoriais/'>Tutoriais</a> Tagged: <a href='http://kleberandrade.wordpress.com/tag/c/'>C#</a>, <a href='http://kleberandrade.wordpress.com/tag/do-while/'>do / while</a>, <a href='http://kleberandrade.wordpress.com/tag/lacos-de-repeticao/'>laços de repetição</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kleberandrade.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kleberandrade.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kleberandrade.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kleberandrade.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kleberandrade.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kleberandrade.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kleberandrade.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kleberandrade.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kleberandrade.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kleberandrade.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kleberandrade.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kleberandrade.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kleberandrade.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kleberandrade.wordpress.com/1641/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1641&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kleberandrade.wordpress.com/2010/12/16/c-lacos-de-repeticao-dowhile-parte-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ef1f4dadd199e2d1e43fff1cdfc1413?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kleberandrade</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/12/colaborador-diego-correa1.png" medium="image">
			<media:title type="html">colaborador diego correa</media:title>
		</media:content>
	</item>
		<item>
		<title>[XNA] Animação de Sprites &#8211; Parte 3</title>
		<link>http://kleberandrade.wordpress.com/2010/12/15/xna-animacao-de-sprites-parte-3/</link>
		<comments>http://kleberandrade.wordpress.com/2010/12/15/xna-animacao-de-sprites-parte-3/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 10:40:12 +0000</pubDate>
		<dc:creator>Kleber Andrade</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Desenvolvimento de Jogos]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[Sprites animados]]></category>
		<category><![CDATA[Sprites Animation]]></category>

		<guid isPermaLink="false">http://kleberandrade.wordpress.com/?p=1632</guid>
		<description><![CDATA[Eai galera, esta é a penúltima parte do tutorial, mas já com esta etapa você já poderão construir seus objetos ou personagens animados. Neste tutorial iremos criar uma classe chamada AnimatedSprite que irá gerenciar objetos animados, ou seja objetos criados com aquela classe do tutorial passado. O que está classe realmente faz então, esta classe [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1632&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Eai galera, esta é a penúltima parte do tutorial, mas já com esta etapa você já poderão construir seus objetos ou personagens animados. Neste tutorial iremos criar uma classe chamada <em>AnimatedSprite</em> que irá gerenciar objetos animados, ou seja objetos criados com aquela classe do <a title="[XNA] Animação de Sprites – Parte 2" href="http://kleberandrade.wordpress.com/2010/12/14/xna-animacao-de-sprites-parte-2/">tutorial passado</a>.</p>
<p style="text-align:justify;">O que está classe realmente faz então, esta classe armazena um dicionário de nomes para chamar cada animação que poderá ser adicionada a ele. O método <em>Update </em>navega entre os quadros da animação atual conforme um intervalo de tempo determinado por cada animação. E o método <em>Draw </em>desenha o objeto.</p>
<p>A classe que gerencia as animações (<em>AnimatedSprite</em>) pode ser vista abaixo.</p>
<p><pre class="brush: csharp;">
public class AnimatedSprite
{
    #region [ Fields ]

    /// &lt;summary&gt;
    /// Sprite sheet da imagem animada
    /// &lt;/summary&gt;
    protected Texture2D texture;

    /// &lt;summary&gt;
    /// Posição do objeto animado no mundo
    /// &lt;/summary&gt;
    public Vector2 Position { get; set; }

    /// &lt;summary&gt;
    /// Dicionário contendo as animações do personagem
    /// &lt;/summary&gt;
    public Dictionary&lt;string, Animation&gt; Animations
    {
        get { return this.animations; }
    }
    private Dictionary&lt;string, Animation&gt; animations = new Dictionary&lt;string, Animation&gt;();

    /// &lt;summary&gt;
    /// Indice do frame da animação em execução
    /// &lt;/summary&gt;
    public int FrameIndex
    {
        get { return this.frameIndex; }
    }
    private int frameIndex = 0;

    /// &lt;summary&gt;
    /// Nome da animação
    /// &lt;/summary&gt;
    private string animationKey;
    public string AnimationKey
    {
        get { return this.animationKey; }
    }

    /// &lt;summary&gt;
    /// Cor de desenho da imagem
    /// &lt;/summary&gt;
    protected Color color = Color.White;

    /// &lt;summary&gt;
    /// Rotação da imagem
    /// &lt;/summary&gt;
    protected float rotation = 0.0f;

    /// &lt;summary&gt;
    /// Origem do desenho
    /// &lt;/summary&gt;
    protected Vector2 origin;

    /// &lt;summary&gt;
    /// Escala da imagem
    /// &lt;/summary&gt;
    protected float scale = 1.0f;

    /// &lt;summary&gt;
    /// Efeitos de imagem
    /// &lt;/summary&gt;
    public SpriteEffects Flip
    {
        get { return this.flip; }
        set { this.flip = value; }
    }
    protected SpriteEffects flip = SpriteEffects.None;

    /// &lt;summary&gt;
    /// Layer de desenho
    /// &lt;/summary&gt;
    protected float layerDepth = 0.0f;

    /// &lt;summary&gt;
    /// Tempo decorrido do frame atual da animação
    /// &lt;/summary&gt;
    private float timeElapsed = 0.0f;

    /// &lt;summary&gt;
    /// Lista com os quadros do sprite sheet
    /// &lt;/summary&gt;
    public List&lt;Rectangle&gt; Frames
    {
        get { return this.frames; }
    }
    private List&lt;Rectangle&gt; frames = new List&lt;Rectangle&gt;();

    /// &lt;summary&gt;
    /// Largura do quadro
    /// &lt;/summary&gt;
    private int frameWidth = 0;

    /// &lt;summary&gt;
    /// Altura do quadro
    /// &lt;/summary&gt;
    private int frameHeight = 0;

    /// &lt;summary&gt;
    /// Tamanho do frame
    /// &lt;/summary&gt;
    public Vector2 Size
    {
        get { return new Vector2(frameWidth, frameHeight); }
    }

    #endregion

    #region [ Constructor ]

    /// &lt;summary&gt;
    /// Construtor do objeto animado
    /// &lt;/summary&gt;
    /// &lt;param name=&quot;texture&quot;&gt;Imagem (Sprite Sheet)&lt;/param&gt;
    /// &lt;param name=&quot;columns&quot;&gt;Quantidade de colunas&lt;/param&gt;
    /// &lt;param name=&quot;rows&quot;&gt;Quantidade de linhas&lt;/param&gt;
    public AnimatedSprite(Texture2D texture, int columns, int rows)
    {
        this.texture = texture;
        this.Position = new Vector2();
        this.frameWidth = texture.Width / columns;
        this.frameHeight = texture.Height / rows;

        // Cria todos os quadros da imagem
        for (int i = 0; i &lt; rows; i++)
            for (int j = 0; j &lt; columns; j++)
                frames.Add(new Rectangle(j * frameWidth,
                    i * frameHeight, frameWidth, frameHeight));

        this.origin = new Vector2(frameWidth / 2, frameHeight / 2);
    }

    #endregion

    #region [ Update ]

    /// &lt;summary&gt;
    /// Atualiza a animação do objeto
    /// &lt;/summary&gt;
    /// &lt;param name=&quot;gameTime&quot;&gt;Tempo de jogo&lt;/param&gt;
    public void Update(GameTime gameTime)
    {
        timeElapsed += (float)gameTime.ElapsedGameTime.TotalSeconds;

        if (timeElapsed &gt; animations[AnimationKey].Interval)
        {
            if (animations[AnimationKey].IsLooping)
            {
                frameIndex = (frameIndex + 1) % animations[AnimationKey].FramesCount;
            }
            else
            {
                frameIndex = (int)MathHelper.Min(frameIndex + 1, animations[AnimationKey].FramesCount - 1);
            }
            timeElapsed = 0.0f;
        }
    }

    #endregion

    #region [ Draw ]

    /// &lt;summary&gt;
    /// Desnha o objeto animado
    /// &lt;/summary&gt;
    /// &lt;param name=&quot;spriteBatch&quot;&gt;&lt;/param&gt;
    public void Draw(SpriteBatch spriteBatch)
    {
        spriteBatch.Draw(texture,
            Position,
            Animations[AnimationKey].Frames[frameIndex],
            color,
            rotation,
            origin,
            scale,
            flip,
            layerDepth);
    }

    #endregion

    #region [ Add Animations ]

    /// &lt;summary&gt;
    /// Adiciona novas animações
    /// &lt;/summary&gt;
    /// &lt;param name=&quot;name&quot;&gt;Nome chave da animação&lt;/param&gt;
    /// &lt;param name=&quot;newAnimation&quot;&gt;Animação definida&lt;/param&gt;
    public void AddAnimation(string name, Animation newAnimation)
    {
        animations.Add(name, newAnimation);
    }

    #endregion

    #region [ Play Animation ]

    /// &lt;summary&gt;
    /// Inicia ou continua uma animação.
    /// &lt;/summary&gt;
    public void PlayAnimation(string name)
    {
        // Se a animação for a mesma em execução, não reinicia a animação
        if (name == AnimationKey)
            return;

        // Inicia uma nova animação
        this.animationKey = name;
        this.frameIndex = 0;
        this.timeElapsed = 0.0f;
    }

    #endregion
}
</pre></p>
<p>A classe Game1.cs deve ficar da seguinte forma para testar nosso exemplo.</p>
<p><pre class="brush: csharp;">
public class Game1 : Game
{
    GraphicsDeviceManager graphics;
    SpriteBatch spriteBatch;

    /// &lt;summary&gt;
    /// Entrada atual do teclado
    /// &lt;/summary&gt;
    ///
    KeyboardState keyState = Keyboard.GetState();
    /// &lt;summary&gt;
    /// Entrada antiga do teclado
    /// &lt;/summary&gt;
    KeyboardState oldKeyState = Keyboard.GetState();

    /// &lt;summary&gt;
    /// Personagem animado
    /// &lt;/summary&gt;
    AnimatedSprite player;

    public Game1()
    {
        graphics = new GraphicsDeviceManager(this);
        Content.RootDirectory = &quot;Content&quot;;
    }

    protected override void Initialize()
    {
        base.Initialize();
    }

    protected override void LoadContent()
    {
        // Create a new SpriteBatch, which can be used to draw textures.
        spriteBatch = new SpriteBatch(GraphicsDevice);

        // Cria o personagem
        player = new AnimatedSprite(Content.Load&lt;Texture2D&gt;(&quot;claudius&quot;), 6, 4);
        // Posiciona o personagem na tela
        player.Position = new Vector2(100, 100);

        // Baixo
        // Cria as animações para baixo
        Animation stopedDownAnimation = new Animation(player.Frames, 0, 2);
        player.AddAnimation(&quot;StopedDown&quot;, stopedDownAnimation);
        // Cria as animações para baixo andando
        Animation walkingDownAnimation = new Animation(player.Frames, 2, 4);
        walkingDownAnimation.IsLooping = true;
        player.AddAnimation(&quot;WalkingDown&quot;, walkingDownAnimation);

        // Esquerda
        // Cria as animações para esquerda
        Animation stopeLeftAnimation = new Animation(player.Frames, 6, 2);
        player.AddAnimation(&quot;StopedLeft&quot;, stopeLeftAnimation);
        // Cria as animações para esquerda andando
        Animation walkingLeftAnimation = new Animation(player.Frames, 8, 4);
        walkingLeftAnimation.IsLooping = true;
        player.AddAnimation(&quot;WalkingLeft&quot;, walkingLeftAnimation);

        // Cima
        // Cria as animações para cima parado
        Animation stopedUpAnimation = new Animation(player.Frames, 12, 2);
        player.AddAnimation(&quot;StopedUp&quot;, stopedUpAnimation);
        // Cria as animações para cima andando
        Animation walkingUpAnimation = new Animation(player.Frames, 14, 4);
        walkingUpAnimation.IsLooping = true;
        player.AddAnimation(&quot;WalkingUp&quot;, walkingUpAnimation);

        // Direita
        // Cria as animações para direita parado
        Animation stopedRightAnimation = new Animation(player.Frames, 18, 2);
        player.AddAnimation(&quot;StopedRight&quot;, stopedRightAnimation);
        // Cria as animações para direita andando
        Animation walkingRightAnimation = new Animation(player.Frames, 20, 4);
        walkingRightAnimation.IsLooping = true;
        player.AddAnimation(&quot;WalkingRight&quot;, walkingRightAnimation);

        // Inicializa a animação do personagem parado a direita
        player.PlayAnimation(&quot;StopedRight&quot;);
    }

    protected override void Update(GameTime gameTime)
    {
        oldKeyState = keyState;
        keyState = Keyboard.GetState();

        if (keyState.IsKeyDown(Keys.Right))
        {
            player.PlayAnimation(&quot;WalkingRight&quot;);
            player.Position += new Vector2(60.0f, 0.0f) * (float)gameTime.ElapsedGameTime.TotalSeconds;
        }
        else if (keyState.IsKeyUp(Keys.Right) &amp;&amp; oldKeyState.IsKeyDown(Keys.Right))
        {
            player.PlayAnimation(&quot;StopedRight&quot;);
        }
        else if (keyState.IsKeyDown(Keys.Left))
        {
            player.PlayAnimation(&quot;WalkingLeft&quot;);
            player.Position += new Vector2(-60.0f, 0.0f) * (float)gameTime.ElapsedGameTime.TotalSeconds;
        }
        else if (keyState.IsKeyUp(Keys.Left) &amp;&amp; oldKeyState.IsKeyDown(Keys.Left))
        {
            player.PlayAnimation(&quot;StopedLeft&quot;);
        }
        else if (keyState.IsKeyDown(Keys.Up))
        {
            player.PlayAnimation(&quot;WalkingUp&quot;);
            player.Position += new Vector2(0.0f, -60.0f) * (float)gameTime.ElapsedGameTime.TotalSeconds;
        }
        else if (keyState.IsKeyUp(Keys.Up) &amp;&amp; oldKeyState.IsKeyDown(Keys.Up))
        {
            player.PlayAnimation(&quot;StopedUp&quot;);
        }
        else if (keyState.IsKeyDown(Keys.Down))
        {
            player.PlayAnimation(&quot;WalkingDown&quot;);
            player.Position += new Vector2(0.0f, 60.0f) * (float)gameTime.ElapsedGameTime.TotalSeconds;
        }
        else if (keyState.IsKeyUp(Keys.Down) &amp;&amp; oldKeyState.IsKeyDown(Keys.Down))
        {
            player.PlayAnimation(&quot;StopedDown&quot;);
        }
        // Atualiza o personagem
        player.Update(gameTime);

        base.Update(gameTime);
    }

    protected override void Draw(GameTime gameTime)
    {
        GraphicsDevice.Clear(Color.CornflowerBlue);
        spriteBatch.Begin();
        // Desenha o personagem
        player.Draw(spriteBatch);
        spriteBatch.End();

        base.Draw(gameTime);
    }
}
</pre></p>
<p>Para ver como ficou o resultado veja o vídeo abaixo.</p>
<span style="text-align:center; display: block;"><a href="http://kleberandrade.wordpress.com/2010/12/15/xna-animacao-de-sprites-parte-3/"><img src="http://img.youtube.com/vi/02SnZIb-CMQ/2.jpg" alt="" /></a></span>
<p>Se quiser fazer download do código-fonte do tutorial <a href="http://www.4shared.com/file/CCV3FQnH/SpriteAnimationExample.html">clique aqui</a>.</p>
<p>Abraços galera, os próximos tutoriais serão sobre Camera 2D para começarmos a montar um jogo de plataforma.</p>
<br />Filed under: <a href='http://kleberandrade.wordpress.com/category/tutoriais/'>Tutoriais</a>, <a href='http://kleberandrade.wordpress.com/category/xna/'>XNA</a> Tagged: <a href='http://kleberandrade.wordpress.com/tag/c/'>C#</a>, <a href='http://kleberandrade.wordpress.com/tag/desenvolvimento-de-jogos/'>Desenvolvimento de Jogos</a>, <a href='http://kleberandrade.wordpress.com/tag/game-development/'>game development</a>, <a href='http://kleberandrade.wordpress.com/tag/sprites-animados/'>Sprites animados</a>, <a href='http://kleberandrade.wordpress.com/tag/sprites-animation/'>Sprites Animation</a>, <a href='http://kleberandrade.wordpress.com/tag/tutoriais/'>Tutoriais</a>, <a href='http://kleberandrade.wordpress.com/tag/xna/'>XNA</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kleberandrade.wordpress.com/1632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kleberandrade.wordpress.com/1632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kleberandrade.wordpress.com/1632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kleberandrade.wordpress.com/1632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kleberandrade.wordpress.com/1632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kleberandrade.wordpress.com/1632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kleberandrade.wordpress.com/1632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kleberandrade.wordpress.com/1632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kleberandrade.wordpress.com/1632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kleberandrade.wordpress.com/1632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kleberandrade.wordpress.com/1632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kleberandrade.wordpress.com/1632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kleberandrade.wordpress.com/1632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kleberandrade.wordpress.com/1632/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1632&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kleberandrade.wordpress.com/2010/12/15/xna-animacao-de-sprites-parte-3/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ef1f4dadd199e2d1e43fff1cdfc1413?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kleberandrade</media:title>
		</media:content>
	</item>
		<item>
		<title>[XNA] Animação de Sprites &#8211; Parte 2</title>
		<link>http://kleberandrade.wordpress.com/2010/12/14/xna-animacao-de-sprites-parte-2/</link>
		<comments>http://kleberandrade.wordpress.com/2010/12/14/xna-animacao-de-sprites-parte-2/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 00:14:52 +0000</pubDate>
		<dc:creator>Kleber Andrade</dc:creator>
				<category><![CDATA[Desenvolvimento de Jogos]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Animação de sprites]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Sprites Animation]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://kleberandrade.wordpress.com/?p=1618</guid>
		<description><![CDATA[Pelo visto muitos leitores estavam ansiosos por mais tutoriais sobre animação de sprites, então vamos hoje falar mais um pouco. Neste tutorial basicamente falaremos sobre o sprite sheet (folha de imagens) e descreveremos uma estrutura básica que armazenará as animações que compõem este objetos 2D. Esta estrutura consiste de uma classe que definirá as animações [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1618&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Pelo visto muitos leitores estavam ansiosos por mais tutoriais sobre animação de <em>sprites</em>, então vamos hoje falar mais um pouco. Neste tutorial basicamente falaremos sobre o <em>sprite sheet</em> (folha de imagens) e descreveremos uma estrutura básica que armazenará as animações que compõem este objetos 2D. Esta estrutura consiste de uma classe que definirá as animações ou seja, qual o quadro de inicio e quantidade de quadros na sequência desta uma animação, se esta animação se repete ou não, entre outras coisas que podem ser acrescentadas no futuro.</p>
<p style="text-align:justify;">Primeiro passo para se criar uma animação é preciso ter um <em>sprite sheet </em>de um objeto (nosso caso um personagem de rpg) como vimos na <a href="http://kleberandrade.wordpress.com/2010/11/29/xna-animacao-de-sprites-parte-1/">primeira parte</a> deste tutorial a imagem do Mario e Luigi. Nosso personagem animado que será animado neste tutorial é o Claudius.</p>
<p style="text-align:justify;">&nbsp;</p>
<div id="attachment_1625" class="wp-caption aligncenter" style="width: 412px"><a href="http://kleberandrade.files.wordpress.com/2010/12/sprite_sheet_animation2.png"><img class="size-full wp-image-1625" title="sprite_sheet_animation" src="http://kleberandrade.files.wordpress.com/2010/12/sprite_sheet_animation2.png?w=600" alt=""   /></a><p class="wp-caption-text">A esquerda sprite sheet do personagem Claudius e a direita o sprite sheet com a marcação dos quadros (frames)</p></div>
<p style="text-align:justify;">Perceba que o sprite sheet possui as imagens espaçadas igualmente tanto na vertical quanto na horizontal formando quadros de mesmo tamanho, facilitando assim o processo de animação. Este sprite sheet tem 192 x 256 pixels, então cada quadro tem 32 x 64 pixels. Se dividirmos esta imagem nos seus respectivos quadros teremos a imagem a direita marcada.</p>
<p style="text-align:justify;">Vamos criar então uma classe que possa representar cada animação deste personagem. Daremos o nome para esta classe de<em> Animation, </em>veja como ela ficaria abaixo.</p>
<p><pre class="brush: csharp;">
public class Animation
{
    #region [ Fields ]

    ///
    /// Lista contendo a sequência de quadros da animação
    ///
    public List Frames
    {
        get { return this.frames; }
    }
    private List frames = new List();

    ///
    /// Intervalo de tempo de passagem dos frames da animação
    ///
    public float Interval
    {
        get { return this.interval; }
        set { this.interval = value; }
    }
    private float interval = 0.25f;

    ///
    /// Define se existe repetição na animação
    ///
    public bool IsLooping
    {
        get { return this.isLooping; }
        set { this.isLooping = value; }
    }
    private bool isLooping = false;

    ///
    /// Quantidade de frames da aniamação
    ///
    public int FramesCount
    {
        get { return this.framesCount; }
    }
    private int framesCount = 0;

    #endregion

    #region [ Constructor ]

    ///
    /// Construtor de uma animação
    ///
    /// Nome da animação que será utilizada como chave
    /// Tamanho do quadro
    /// Quadro inicial
    /// Quantidade de quadros
    public Animation(List frames, int startFrame, int framesCount)
    {
        this.framesCount = framesCount;
        // Armazena os quadros referêntes a esta animação
        for (int i = startFrame; i &lt; startFrame + framesCount; i++)
            Frames.Add(frames[i]);
    }

    #endregion
}

</pre></p>
<p>No próximo tutorial veremos então como gerenciar as animações que serão criadas utilizando esta classe que definimos hoje. Abraços, até a próxima.</p>
<br />Filed under: <a href='http://kleberandrade.wordpress.com/category/desenvolvimento-de-jogos/'>Desenvolvimento de Jogos</a>, <a href='http://kleberandrade.wordpress.com/category/tutoriais/'>Tutoriais</a>, <a href='http://kleberandrade.wordpress.com/category/xna/'>XNA</a> Tagged: <a href='http://kleberandrade.wordpress.com/tag/animacao-de-sprites/'>Animação de sprites</a>, <a href='http://kleberandrade.wordpress.com/tag/c/'>C#</a>, <a href='http://kleberandrade.wordpress.com/tag/sprites-animation/'>Sprites Animation</a>, <a href='http://kleberandrade.wordpress.com/tag/tutorial/'>Tutorial</a>, <a href='http://kleberandrade.wordpress.com/tag/xna/'>XNA</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kleberandrade.wordpress.com/1618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kleberandrade.wordpress.com/1618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kleberandrade.wordpress.com/1618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kleberandrade.wordpress.com/1618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kleberandrade.wordpress.com/1618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kleberandrade.wordpress.com/1618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kleberandrade.wordpress.com/1618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kleberandrade.wordpress.com/1618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kleberandrade.wordpress.com/1618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kleberandrade.wordpress.com/1618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kleberandrade.wordpress.com/1618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kleberandrade.wordpress.com/1618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kleberandrade.wordpress.com/1618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kleberandrade.wordpress.com/1618/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1618&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kleberandrade.wordpress.com/2010/12/14/xna-animacao-de-sprites-parte-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ef1f4dadd199e2d1e43fff1cdfc1413?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kleberandrade</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/12/sprite_sheet_animation2.png" medium="image">
			<media:title type="html">sprite_sheet_animation</media:title>
		</media:content>
	</item>
		<item>
		<title>100 mil acessos!</title>
		<link>http://kleberandrade.wordpress.com/2010/12/06/100-mil-acessos/</link>
		<comments>http://kleberandrade.wordpress.com/2010/12/06/100-mil-acessos/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 12:20:28 +0000</pubDate>
		<dc:creator>Kleber Andrade</dc:creator>
				<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://kleberandrade.wordpress.com/?p=1611</guid>
		<description><![CDATA[Gostaria de agradecer a todos os leitores deste blog pelos acessos e pelos comentários. Conseguimos chegar a marca dos 100 mil acessos e espero logo postar mais tutoriais e artigos para vocês sobre desenvolvimento de jogos. Abraços, Filed under: Notícias<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1611&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Gostaria de agradecer a todos os leitores deste blog pelos acessos e pelos comentários. Conseguimos chegar a marca dos 100 mil acessos e espero logo postar mais tutoriais e artigos para vocês sobre desenvolvimento de jogos.</p>
<p><a href="http://kleberandrade.files.wordpress.com/2010/12/mario-two-fingers.jpg"><img class="aligncenter size-medium wp-image-1612" title="mario-two-fingers" src="http://kleberandrade.files.wordpress.com/2010/12/mario-two-fingers.jpg?w=300&#038;h=209" alt="" width="300" height="209" /></a></p>
<p>Abraços,</p>
<br />Filed under: <a href='http://kleberandrade.wordpress.com/category/noticias/'>Notícias</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kleberandrade.wordpress.com/1611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kleberandrade.wordpress.com/1611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kleberandrade.wordpress.com/1611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kleberandrade.wordpress.com/1611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kleberandrade.wordpress.com/1611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kleberandrade.wordpress.com/1611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kleberandrade.wordpress.com/1611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kleberandrade.wordpress.com/1611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kleberandrade.wordpress.com/1611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kleberandrade.wordpress.com/1611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kleberandrade.wordpress.com/1611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kleberandrade.wordpress.com/1611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kleberandrade.wordpress.com/1611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kleberandrade.wordpress.com/1611/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1611&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kleberandrade.wordpress.com/2010/12/06/100-mil-acessos/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ef1f4dadd199e2d1e43fff1cdfc1413?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kleberandrade</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/12/mario-two-fingers.jpg?w=300" medium="image">
			<media:title type="html">mario-two-fingers</media:title>
		</media:content>
	</item>
		<item>
		<title>[XNA] Animação de Sprites &#8211; Parte 1</title>
		<link>http://kleberandrade.wordpress.com/2010/11/29/xna-animacao-de-sprites-parte-1/</link>
		<comments>http://kleberandrade.wordpress.com/2010/11/29/xna-animacao-de-sprites-parte-1/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 11:57:21 +0000</pubDate>
		<dc:creator>Kleber Andrade</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Desenvolvimento de Jogos]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Animação de sprites]]></category>
		<category><![CDATA[Sprites Animation]]></category>

		<guid isPermaLink="false">http://kleberandrade.wordpress.com/?p=1604</guid>
		<description><![CDATA[Olá galera, vamos dar início ao tutorial de animação de sprites, mas para isso vamos ver alguns conceitos básicos necessários para que todos possam entender do que estamos falando. O que são Sprites ? Antes que alguém pense em uma piadinha, sprite não é a marca de refrigerante e sim um elemento básico visual dos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1604&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Olá galera, vamos dar início ao tutorial de animação de sprites, mas para isso vamos ver alguns conceitos básicos necessários para que todos possam entender do que estamos falando.</p>
<p style="text-align:justify;"><strong>O que são Sprites ?</strong></p>
<p style="text-align:justify;">Antes que alguém pense em uma piadinha, sprite não é a marca de refrigerante e sim um elemento básico visual dos jogos bidimensionais que pode ser representado por um conjunto de imagens estáticas. Uma animação de um jogo em duas dimensões, por exemplo, é representada por uma seqüência de sprites sendo exibidos em sucessão. Sua principal função atualmente é economizar recursos ao tornar desnecessária a representação de objetos utilizando objetos complexos em três dimensões. Um exemplo de aprite para animação do personagem Mario e Luigi, pode ser visto na figura 1.</p>
<p style="text-align:justify;">
<div id="attachment_1606" class="wp-caption aligncenter" style="width: 610px"><a href="http://kleberandrade.files.wordpress.com/2010/11/sprites_mario_luigi1.png"><img class="size-full wp-image-1606" title="sprites_mario_luigi" src="http://kleberandrade.files.wordpress.com/2010/11/sprites_mario_luigi1.png?w=600&#038;h=193" alt="" width="600" height="193" /></a><p class="wp-caption-text">Figura 1. Sprite Sheet do Mario e Luigi</p></div>
<p style="text-align:justify;">&nbsp;</p>
<p style="text-align:justify;">As imagens 1 a 3 definem o movimento de caminhada do Luigi, enquanto a imagem 4 a 5 o de pulo. Perceba que ao trocar a imagem você pode posicionar o objeto em outra posição dando realmente a impressão que ele esta caminhando.  Um detalhe importante é que só existe imagens para um lado, pois para ele andar para o outro lado você deve simplesmente fazer um giro horizontal na imagem.</p>
<p style="text-align:justify;"><a href="http://kleberandrade.files.wordpress.com/2010/11/ani_4luigibig.gif"><img class="aligncenter size-full wp-image-1607" title="ani_4luigibig" src="http://kleberandrade.files.wordpress.com/2010/11/ani_4luigibig.gif?w=600" alt=""   /></a></p>
<p style="text-align:justify;">Logo iremos começar a ver códigos, mas por hoje é só.</p>
<br />Filed under: <a href='http://kleberandrade.wordpress.com/category/c/'>C#</a>, <a href='http://kleberandrade.wordpress.com/category/desenvolvimento-de-jogos/'>Desenvolvimento de Jogos</a>, <a href='http://kleberandrade.wordpress.com/category/tutoriais/'>Tutoriais</a>, <a href='http://kleberandrade.wordpress.com/category/xna/'>XNA</a> Tagged: <a href='http://kleberandrade.wordpress.com/tag/animacao-de-sprites/'>Animação de sprites</a>, <a href='http://kleberandrade.wordpress.com/tag/sprites-animation/'>Sprites Animation</a>, <a href='http://kleberandrade.wordpress.com/tag/xna/'>XNA</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kleberandrade.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kleberandrade.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kleberandrade.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kleberandrade.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kleberandrade.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kleberandrade.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kleberandrade.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kleberandrade.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kleberandrade.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kleberandrade.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kleberandrade.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kleberandrade.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kleberandrade.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kleberandrade.wordpress.com/1604/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1604&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kleberandrade.wordpress.com/2010/11/29/xna-animacao-de-sprites-parte-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ef1f4dadd199e2d1e43fff1cdfc1413?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kleberandrade</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/sprites_mario_luigi1.png" medium="image">
			<media:title type="html">sprites_mario_luigi</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/ani_4luigibig.gif" medium="image">
			<media:title type="html">ani_4luigibig</media:title>
		</media:content>
	</item>
		<item>
		<title>SBGames 2010</title>
		<link>http://kleberandrade.wordpress.com/2010/11/15/sbgames-2010/</link>
		<comments>http://kleberandrade.wordpress.com/2010/11/15/sbgames-2010/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 17:30:41 +0000</pubDate>
		<dc:creator>Kleber Andrade</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Florianópolis]]></category>
		<category><![CDATA[SBGames]]></category>
		<category><![CDATA[SBGames 2010]]></category>

		<guid isPermaLink="false">http://kleberandrade.wordpress.com/?p=1588</guid>
		<description><![CDATA[Aconteceu nos dias 8 a 10 de Novembro de 2010 a 9ª (nona) edição do Simpósio Brasileiro de Jogos e Entretenimento Digital (SBGames 2010) e, Florianópolis &#8211; SC, que é considerado o maior evento de Entretenimento Digital da América Latina. Promovido pela Sociedade Brasileira de Computação (SBC) e Associação Brasileira dos Desenvolvedores de Games (ABRAGames), [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1588&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Aconteceu nos dias 8 a 10 de Novembro de 2010 a 9ª (nona) edição do Simpósio Brasileiro de Jogos e Entretenimento Digital (SBGames 2010) e, Florianópolis &#8211; SC, que é considerado o maior evento de Entretenimento Digital da América Latina. Promovido pela Sociedade Brasileira de Computação (SBC) e Associação Brasileira dos Desenvolvedores de Games (ABRAGames), o SBGames 2010 foi organizado pela Universidade do Vale do Itajaí (Univali) com patrocínio da  Hoplon (criadora do Taikodom), Intel Software, Sony Computa Entertainment, SENAC, Aiyra e Nokia, no Hotel Bristol Castelmar no centro de Florianópolis. O grande objetivo do evento, que segue com o tema “Games na Rede”, é promover a troca de conhecimento entre os mais de mil participantes, entre profissionais da área (incluindo nomes conhecidos mundialmente), professores e alunos de todo o país.</p>
<p style="text-align:center;"><img class="size-medium wp-image-1589  aligncenter" title="39525_466802234685_703089685_5363681_631492_n" src="http://kleberandrade.files.wordpress.com/2010/11/39525_466802234685_703089685_5363681_631492_n.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></p>
<p style="text-align:justify;">Sendo este o primeiro SBGames que participo de muitos outros que viram, o primeiro dia do evento foi marcado com uma grande euforia, muitas atividades em paralela, negócios a serem tratados, intercâmbio, novos contatos e na minha opinião a melhor de todas as palestra (keynotes) do evento. Dom Marinelli é professor de teatro e artes e produtor executivo do centro de entretenimento e tecnologia do Carnegie Mellon, nos EUA. disse que os jogos ainda não são reconhecidos como formas de expressão artística por grande parte da sociedade, mas que isso pode mudar no futuro.</p>
<p style="text-align:justify;"><a href="http://kleberandrade.files.wordpress.com/2010/11/148402_466802299685_703089685_5363682_6606158_n.jpg"><img class="alignleft size-medium wp-image-1595" style="margin-left:10px;margin-right:10px;" title="148402_466802299685_703089685_5363682_6606158_n" src="http://kleberandrade.files.wordpress.com/2010/11/148402_466802299685_703089685_5363682_6606158_n.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a>Desse modo, Marinelli defende que os estudantes de desenvolvimento de games, em qualquer área que seja, devem viver experiências reais. “Eu tento ensinar artes para estes alunos, para que eles sejam atores. Quero que eles sintam emoções reais como perigo, tristeza e felicidade. Somente assim eles criarão bons jogos”, conta. “Eu não procuro por um desenvolvedor de jogos, eu procuro por um artista”.</p>
<p style="text-align:justify;">Marinelli também disse que os estudantes poderão criar games em diversas áreas, principalmente na educação, no entretenimento adulto e, no que ele acredita ser o próximo passo dos jogos eletrônicos, em títulos voltados para idosos. “Eu estou ficando velho e quero que vocês façam jogos para eu me divertir”. Ele comentou também que espera que os videogames sejam reconhecidos no futuro como arte – algo como o cinema é visto atualmente, por exemplo. “Quero que os videogames tenham o mesmo impacto de ‘Hamlet’”.</p>
<p style="text-align:justify;">Durante o primeiro dia também assisti alguns papers, fiz alguns contatos e depois saímos para comer e beber um pouco com os novos amigos de Recibe, Brasilia, Rio de Janeiro e outros lugares.</p>
<p style="text-align:justify;">Já no segundo dia, tive que acordar cedo pois a apresentação do paper do meu grupo eram as 9:00 da manhã, paper apresentado, novos contatos e novas atividades além do Plenário e cerimônia de premiação. Durante a cerimônia de premiação foi anunciado que o prêmio Abragames ao melhor profissional do ano, chamado de “Contribuição à Indústria Brasileira de Jogos”, mudará de nome, a partir de 2011, ele será chamado Prêmio <strong>Marcelo Carvalho</strong>, em homenagem ao primeiro presidente da Abragames, que faleceu este ano.</p>
<p style="text-align:justify;">No último dia do evento conforme previsto aconteceu a palestra mais relevante com Jonathan Blow, criador de <strong>Braid</strong>,</p>
<div id="attachment_1598" class="wp-caption alignright" style="width: 310px"><a href="http://kleberandrade.files.wordpress.com/2010/11/braid1.jpg"><img class="size-medium wp-image-1598" title="braid" src="http://kleberandrade.files.wordpress.com/2010/11/braid1.jpg?w=300&#038;h=200" alt="" width="300" height="200" /></a><p class="wp-caption-text">Crédito da foto: Mario Oliveira</p></div>
<p style="text-align:justify;">considerado um dos melhores títulos independentes dos anos anteriores quando saiu para Xbox 360 (2008), PC e PS3 (2009). Contemplado por um público de mais de 500 pessoas na plateia, o programador e designer que reside nos EUA abordou temas relacionados a como os desenvolvedores devem se relacionar com o público, e afirmou que nem sempre dar ao jogador o que ele quer é o correto a se fazer. &#8221;<em>O que é recompensador? Os game designers podem dar aos jogadores o que eles querem, mas às vezes isso não é saudável para as pessoas. Jogos como Farmville são do mal. Como designer, eu quero dizer que levo a magnitude destas consequências a sério</em>&#8220;, afirmou Blow.</p>
<p style="text-align:justify;">O profissional também fez uma analogia com relação à preocupação que os produtores devem ter com relação a magnitude de seus trabalhos, comparando como uma pessoa que pode sair para tomar uma cerveja com os amigos depois do trabalho, mas o efeito será nocivo à saúde se ela se embebedar todos os dias. Da mesma forma, se um game ruim fosse usado por uma única pessoa o efeito não seria impactante, mas na realidade o que acontece é que centenas de pessoas gastam milhares de horas de suas vidas com coisas que as tornam mais burras. &#8221;<em>Nós temos responsabilidade proporcional ao número de pessoas que afetamos. E este número é cada vez maior. Por isso eu não gosto de manipular jogadores. Quero ser o mais ético que puder. Tento criar a maior liberdade possível na mente do jogador.</em>&#8220;</p>
<p style="text-align:justify;">Por fim, Blow disse que o objetivo dos profissionais dessa área não deve ser preocupar-se em criar o jogo mais divertido, mas respeitar os jogadores ainda que se tenha pretensão de ganhar dinheiro com o game. Para atingir esse objetivo ele aconselha muita pesquisa e usar formas honestas de conversar com os jogadores, como se faz nas novelas.</p>
<p style="text-align:justify;">Junto com a SBGames acontece o Festival de Jogos Independentes, oportunidade para pessoas e empresas mostrarem suas criações. Dentre os 34 títulos participantes, destacaram-se &#8220;Krimson&#8221;, game 3D no qual o jogador controla um dragão; &#8220;Painting Rage&#8221;, um puzzle que brinca com cores, e &#8220;Star Triad&#8221;, um típico game de nave para celular. Foram os jogos ganhadores deste festival.</p>
<p style="text-align:justify;">Para aqueles que buscaram negócios, podia candidatar-se a vagas de empregos disponíveis em algumas produtoras como a Hoplon, que tem cerca de 110 funcionários, cujo jogo principal, o MMO &#8220;Taikodom&#8221;, custou US$ 15 milhões. No estande da empresa, os estudantes podiam deixar seus currículos e até mesmo conversar com funcionários do departamento de RH. Também tivemos a chance de visitar a empresa e conversar com os programadores, artistas, músico e outros membros da equipe.</p>
<p style="text-align:justify;"><a href="http://kleberandrade.files.wordpress.com/2010/11/sbgames-2010-1289418875447_420x283.jpg"><img class="aligncenter size-medium wp-image-1599" title="sbgames-2010-1289418875447_420x283" src="http://kleberandrade.files.wordpress.com/2010/11/sbgames-2010-1289418875447_420x283.jpg?w=300&#038;h=202" alt="" width="300" height="202" /></a></p>
<p style="text-align:justify;">Entre as atividades de lazer a Hoplon realizou um grande campeonato de Taikodom: Livind Universe no qual durante os 3 dias do evento aconteceram combates com patidades de 40 minutos cada em 50 máquinas. Os 3 vencedors foram premiados com placas de vídeo da última geração.</p>
<p style="text-align:center;"><a href="http://kleberandrade.files.wordpress.com/2010/11/content_pic.jpg"><img class="size-medium wp-image-1596 aligncenter" title="content_pic" src="http://kleberandrade.files.wordpress.com/2010/11/content_pic.jpg?w=300&#038;h=199" alt="" width="300" height="199" /></a></p>
<p style="text-align:justify;">Empresas e instituições francesas de games também marcaram presença no evento, que teve iniciativa de integrar o 1° Encontro Franco-Brasileiro sobre Videogames. Foi discutido o desenvolvimento de parcerias comerciais e co-produções, além de colaborações entre universidades e laboratórios de pesquisa e pólos de competência.</p>
<p style="text-align:justify;">Infelizmente eventos desse tipo ocorrem uma unica vez por ano, mas se eu sou você não ficaria fora da próxima edição que será em Salvador, que tal conhecer o que a baiana tem ? Fico por aqui galera, espero que tenham gostado, até a próxima e alias abraços a todos os amigos que fiz neste evento e até Salvador.</p>
<p><a href="http://kleberandrade.files.wordpress.com/2010/11/77138_466812119685_703089685_5363772_6970981_n.jpg"><img class="alignleft size-medium wp-image-1590" title="77138_466812119685_703089685_5363772_6970981_n" src="http://kleberandrade.files.wordpress.com/2010/11/77138_466812119685_703089685_5363772_6970981_n.jpg?w=240&#038;h=180" alt="" width="240" height="180" /></a><img class="alignright size-medium wp-image-1592" title="73706_466802369685_703089685_5363684_4010397_n" src="http://kleberandrade.files.wordpress.com/2010/11/73706_466802369685_703089685_5363684_4010397_n.jpg?w=240&#038;h=180" alt="" width="240" height="180" /><a href="http://kleberandrade.files.wordpress.com/2010/11/img_4731.jpg"><img class="aligncenter size-medium wp-image-1591" title="IMG_4731" src="http://kleberandrade.files.wordpress.com/2010/11/img_4731.jpg?w=240&#038;h=180" alt="" width="240" height="180" /></a></p>
<br />Filed under: <a href='http://kleberandrade.wordpress.com/category/noticias/'>Notícias</a> Tagged: <a href='http://kleberandrade.wordpress.com/tag/florianopolis/'>Florianópolis</a>, <a href='http://kleberandrade.wordpress.com/tag/sbgames/'>SBGames</a>, <a href='http://kleberandrade.wordpress.com/tag/sbgames-2010/'>SBGames 2010</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kleberandrade.wordpress.com/1588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kleberandrade.wordpress.com/1588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kleberandrade.wordpress.com/1588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kleberandrade.wordpress.com/1588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kleberandrade.wordpress.com/1588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kleberandrade.wordpress.com/1588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kleberandrade.wordpress.com/1588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kleberandrade.wordpress.com/1588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kleberandrade.wordpress.com/1588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kleberandrade.wordpress.com/1588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kleberandrade.wordpress.com/1588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kleberandrade.wordpress.com/1588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kleberandrade.wordpress.com/1588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kleberandrade.wordpress.com/1588/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1588&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kleberandrade.wordpress.com/2010/11/15/sbgames-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ef1f4dadd199e2d1e43fff1cdfc1413?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kleberandrade</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/39525_466802234685_703089685_5363681_631492_n.jpg?w=300" medium="image">
			<media:title type="html">39525_466802234685_703089685_5363681_631492_n</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/148402_466802299685_703089685_5363682_6606158_n.jpg?w=300" medium="image">
			<media:title type="html">148402_466802299685_703089685_5363682_6606158_n</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/braid1.jpg?w=300" medium="image">
			<media:title type="html">braid</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/sbgames-2010-1289418875447_420x283.jpg?w=300" medium="image">
			<media:title type="html">sbgames-2010-1289418875447_420x283</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/content_pic.jpg?w=300" medium="image">
			<media:title type="html">content_pic</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/77138_466812119685_703089685_5363772_6970981_n.jpg?w=300" medium="image">
			<media:title type="html">77138_466812119685_703089685_5363772_6970981_n</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/73706_466802369685_703089685_5363684_4010397_n.jpg?w=300" medium="image">
			<media:title type="html">73706_466802369685_703089685_5363684_4010397_n</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/img_4731.jpg?w=300" medium="image">
			<media:title type="html">IMG_4731</media:title>
		</media:content>
	</item>
		<item>
		<title>[XNA] Desenvolvendo um Breakout (Source Code)</title>
		<link>http://kleberandrade.wordpress.com/2010/11/04/xna-desenvolvendo-um-breakout-source-code/</link>
		<comments>http://kleberandrade.wordpress.com/2010/11/04/xna-desenvolvendo-um-breakout-source-code/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 22:36:59 +0000</pubDate>
		<dc:creator>Kleber Andrade</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Arkanoid]]></category>
		<category><![CDATA[Breakout]]></category>
		<category><![CDATA[Código fonte]]></category>
		<category><![CDATA[Curso de Jogos]]></category>
		<category><![CDATA[Desenvolvimento de Jogos]]></category>
		<category><![CDATA[Mini-curso]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://kleberandrade.wordpress.com/?p=1569</guid>
		<description><![CDATA[Galera, segue o código do jogo Breakout para vocês estudarem. Estou colocando para download duas versões de código, uma reduzida (a que fizemos no curso de 4 horas) e outra versão um pouco mais extendida, com 4 fases (arquivos .txt) e sistema de telas usando nosso tutorial, além de todos objetos serem componentes nesse jogo (isso [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1569&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Galera, segue o código do jogo Breakout para vocês estudarem. Estou colocando para download duas versões de código, uma reduzida (a que fizemos no curso de 4 horas) e outra versão um pouco mais extendida, com 4 fases (arquivos .txt) e sistema de telas usando nosso tutorial, além de todos objetos serem componentes nesse jogo (isso é só para complicar e vocês aprenderem a utiliza-los)</p>
<p style="text-align:justify;">Breakout ou Arkanoid é um jogo simples, que começou em máquinas arcade e que se tornou popular por causa da sua facilidade de jogo e gráficos simples. A empresa que comercializou este jogo foi a Taito. O jogo é formado por uma bola, uma raquete e blocos coloridos. Uma bola começava a andar pelo ecrã. Com a &#8220;raquete&#8221; tentava-se bater na bola, movimentando-se para os lados. A bola batia nos blocos e você ganhava pontos.</p>
<p style="text-align:center;"><span style="text-align:center; display: block;"><a href="http://kleberandrade.wordpress.com/2010/11/04/xna-desenvolvendo-um-breakout-source-code/"><img src="http://img.youtube.com/vi/WgEmEThUul8/2.jpg" alt="" /></a></span></p>
<ul>
<li>Código de um mini-breakout desenvolvido nos mini-cursos que ministrei (clique aqui)</li>
<li>Código de um breakout completo desenvolvido usando diversas técnicas (<a href="http://www.4shared.com/file/8Pb_5spO/Breakout_Completo.html" target="_self">clique aqui</a>)</li>
</ul>
<p style="text-align:justify;">Existem alguns bugs em ambas versões que não fique corrigindo, e também o código do jogo completo foi um teste que fiz sobre o uso de Components em XNA, então pode ser que a maioria ache meio confuso o código, até eu mesmo achei. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align:justify;">Abraços, espero que gostem.</p>
<br />Filed under: <a href='http://kleberandrade.wordpress.com/category/tutoriais/'>Tutoriais</a>, <a href='http://kleberandrade.wordpress.com/category/xna/'>XNA</a> Tagged: <a href='http://kleberandrade.wordpress.com/tag/arkanoid/'>Arkanoid</a>, <a href='http://kleberandrade.wordpress.com/tag/breakout/'>Breakout</a>, <a href='http://kleberandrade.wordpress.com/tag/codigo-fonte/'>Código fonte</a>, <a href='http://kleberandrade.wordpress.com/tag/curso-de-jogos/'>Curso de Jogos</a>, <a href='http://kleberandrade.wordpress.com/tag/desenvolvimento-de-jogos/'>Desenvolvimento de Jogos</a>, <a href='http://kleberandrade.wordpress.com/tag/mini-curso/'>Mini-curso</a>, <a href='http://kleberandrade.wordpress.com/tag/source-code/'>Source Code</a>, <a href='http://kleberandrade.wordpress.com/tag/tutorial/'>Tutorial</a>, <a href='http://kleberandrade.wordpress.com/tag/xna/'>XNA</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kleberandrade.wordpress.com/1569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kleberandrade.wordpress.com/1569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kleberandrade.wordpress.com/1569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kleberandrade.wordpress.com/1569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kleberandrade.wordpress.com/1569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kleberandrade.wordpress.com/1569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kleberandrade.wordpress.com/1569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kleberandrade.wordpress.com/1569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kleberandrade.wordpress.com/1569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kleberandrade.wordpress.com/1569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kleberandrade.wordpress.com/1569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kleberandrade.wordpress.com/1569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kleberandrade.wordpress.com/1569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kleberandrade.wordpress.com/1569/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1569&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kleberandrade.wordpress.com/2010/11/04/xna-desenvolvendo-um-breakout-source-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ef1f4dadd199e2d1e43fff1cdfc1413?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kleberandrade</media:title>
		</media:content>
	</item>
		<item>
		<title>[XNA] Desenvolvendo um Space Invaders (Source Code)</title>
		<link>http://kleberandrade.wordpress.com/2010/11/03/xna-desenvolvendo-um-space-invaders-source-code/</link>
		<comments>http://kleberandrade.wordpress.com/2010/11/03/xna-desenvolvendo-um-space-invaders-source-code/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 13:38:48 +0000</pubDate>
		<dc:creator>Kleber Andrade</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Código fonte]]></category>
		<category><![CDATA[Mini-curso]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Space Invaders]]></category>

		<guid isPermaLink="false">http://kleberandrade.wordpress.com/?p=1559</guid>
		<description><![CDATA[Galera, segue o código do jogo Space Invaders para vocês estudarem. Esse código é baseado no nosso sistema de telas e em todas as aulas realizadas neste blog. Este jogo também foi desenvolvido durante a Semana de Computação da Uniderp-Anhanguera de Campo Grande &#8211; MS (Abraços a todos de lá, ao professor Robson, Leonardo e [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1559&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Galera, segue o código do jogo Space Invaders para vocês estudarem. Esse código é baseado no nosso sistema de telas e em todas as aulas realizadas neste blog. Este jogo também foi desenvolvido durante a Semana de Computação da Uniderp-Anhanguera de Campo Grande &#8211; MS (Abraços a todos de lá, ao professor Robson, Leonardo e os outros professores que não lembro o  nome no momento, além dos alunos que fizeram o mini-curso comigo).</p>
<p style="text-align:justify;">Veja o vídeo do clássico jogo Space Invaders</p>
<p style="text-align:justify;"><span style="text-align:center; display: block;"><a href="http://kleberandrade.wordpress.com/2010/11/03/xna-desenvolvendo-um-space-invaders-source-code/"><img src="http://img.youtube.com/vi/NqyKpJwk29o/2.jpg" alt="" /></a></span></p>
<p style="text-align:justify;">Veja o nosso remake desenvolvido</p>
<p style="text-align:justify;"><span style="text-align:center; display: block;"><a href="http://kleberandrade.wordpress.com/2010/11/03/xna-desenvolvendo-um-space-invaders-source-code/"><img src="http://img.youtube.com/vi/-y4bDtKJGnY/2.jpg" alt="" /></a></span></p>
<p style="text-align:justify;">Como funciona o jogo, o que o usuário pode fazer ? veja o diagrama de caso de uso abaixo</p>
<div id="attachment_1561" class="wp-caption aligncenter" style="width: 610px"><a href="http://kleberandrade.files.wordpress.com/2010/11/space-invaders-diagrama-de-caso-de-uso.jpg"><img class="size-full wp-image-1561" title="Space Invaders - Diagrama de Caso de USo" src="http://kleberandrade.files.wordpress.com/2010/11/space-invaders-diagrama-de-caso-de-uso.jpg?w=600&#038;h=495" alt="" width="600" height="495" /></a><p class="wp-caption-text">Diagrama de Caso de Uso do Jogo</p></div>
<p>O sistema de Telas é o mesmo do nosso tutorial, veja a maquina de estado do jogo abaixo.</p>
<div id="attachment_1560" class="wp-caption aligncenter" style="width: 610px"><a href="http://kleberandrade.files.wordpress.com/2010/11/space-invaders-maquina-de-estado.jpg"><img class="size-full wp-image-1560" title="Space Invaders - Maquina de Estado" src="http://kleberandrade.files.wordpress.com/2010/11/space-invaders-maquina-de-estado.jpg?w=600&#038;h=240" alt="" width="600" height="240" /></a><p class="wp-caption-text">Maquina de Estados Finitos do jogo</p></div>
<p style="text-align:justify;">E o nosso diagrama de classes ficaria dessa forma.</p>
<div id="attachment_1562" class="wp-caption aligncenter" style="width: 610px"><a href="http://kleberandrade.files.wordpress.com/2010/11/space-invaders-diagrama-de-classes.jpg"><img class="size-full wp-image-1562" title="Space Invaders - Diagrama de Classes" src="http://kleberandrade.files.wordpress.com/2010/11/space-invaders-diagrama-de-classes.jpg?w=600&#038;h=529" alt="" width="600" height="529" /></a><p class="wp-caption-text">Diagrama de Classes do Jogo</p></div>
<p style="text-align:justify;">Vale lembrar que esse jogo foi criado em um curso de 20 horas sem restrição de conhecimento inicial, então seu código esta criado de maneira a ser cumprida nessas horas de curso. Ou seja, você pode pensar em diversas melhorias para esse código com certeza. Outro detalhe, a tela de créditos foi eliminada do código para reduzir o tempo de programação do curso, porém a mesma se encontra em todos os diagramas.</p>
<p style="text-align:justify;">Pegue o código aqui do jogo <a href="http://www.4shared.com/file/7DNvMqMd/Space_Invaders_-_Completo.html" target="_blank">clicando aqui</a>.</p>
<p style="text-align:justify;">Abraços galera, até a próxima.</p>
<br />Filed under: <a href='http://kleberandrade.wordpress.com/category/tutoriais/'>Tutoriais</a>, <a href='http://kleberandrade.wordpress.com/category/xna/'>XNA</a> Tagged: <a href='http://kleberandrade.wordpress.com/tag/c/'>C#</a>, <a href='http://kleberandrade.wordpress.com/tag/codigo-fonte/'>Código fonte</a>, <a href='http://kleberandrade.wordpress.com/tag/mini-curso/'>Mini-curso</a>, <a href='http://kleberandrade.wordpress.com/tag/source-code/'>Source Code</a>, <a href='http://kleberandrade.wordpress.com/tag/space-invaders/'>Space Invaders</a>, <a href='http://kleberandrade.wordpress.com/tag/xna/'>XNA</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kleberandrade.wordpress.com/1559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kleberandrade.wordpress.com/1559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kleberandrade.wordpress.com/1559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kleberandrade.wordpress.com/1559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kleberandrade.wordpress.com/1559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kleberandrade.wordpress.com/1559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kleberandrade.wordpress.com/1559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kleberandrade.wordpress.com/1559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kleberandrade.wordpress.com/1559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kleberandrade.wordpress.com/1559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kleberandrade.wordpress.com/1559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kleberandrade.wordpress.com/1559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kleberandrade.wordpress.com/1559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kleberandrade.wordpress.com/1559/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kleberandrade.wordpress.com&amp;blog=3571038&amp;post=1559&amp;subd=kleberandrade&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kleberandrade.wordpress.com/2010/11/03/xna-desenvolvendo-um-space-invaders-source-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3ef1f4dadd199e2d1e43fff1cdfc1413?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kleberandrade</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/space-invaders-diagrama-de-caso-de-uso.jpg" medium="image">
			<media:title type="html">Space Invaders - Diagrama de Caso de USo</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/space-invaders-maquina-de-estado.jpg" medium="image">
			<media:title type="html">Space Invaders - Maquina de Estado</media:title>
		</media:content>

		<media:content url="http://kleberandrade.files.wordpress.com/2010/11/space-invaders-diagrama-de-classes.jpg" medium="image">
			<media:title type="html">Space Invaders - Diagrama de Classes</media:title>
		</media:content>
	</item>
	</channel>
</rss>
