<?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>XNA Mexico</title>
	<atom:link href="http://www.xnamexico.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xnamexico.com</link>
	<description>Desarrollo de Videojuegos con XNA</description>
	<lastBuildDate>Thu, 22 Jul 2010 03:36:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Windos Phone 7 Developer Tools Beta</title>
		<link>http://www.xnamexico.com/2010/07/21/windos-phone-7-developer-tools-beta/</link>
		<comments>http://www.xnamexico.com/2010/07/21/windos-phone-7-developer-tools-beta/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 03:35:52 +0000</pubDate>
		<dc:creator>hdgam3r</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[Desarrollo XNA]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[gamedesign]]></category>
		<category><![CDATA[mexico]]></category>
		<category><![CDATA[videojuegos]]></category>

		<guid isPermaLink="false">http://www.xnamexico.com/?p=96</guid>
		<description><![CDATA[Después de estar un rato con el Community Technical Preview (CTP) de las herramientas de Windows Phone 7, Microsoft lanza la beta libre para todos los desarrolladores. Como game developers, nos interesa la parte de XNA para el desarrollo de juegos y ahora tenemos la oportunidad de usar nuestras habilidades en XNA para desarrollar juegos [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.xnamexico.com/wp-content/uploads/2010/07/wp7.png"><img class="aligncenter size-full wp-image-97" title="wp7" src="http://www.xnamexico.com/wp-content/uploads/2010/07/wp7.png" alt="" width="434" height="72" /></a></p>
<p>Después de estar un rato con el Community Technical Preview (CTP) de las herramientas de Windows Phone 7, Microsoft lanza la beta libre para todos los desarrolladores.</p>
<p>Como game developers, nos interesa la parte de XNA para el desarrollo de juegos y ahora tenemos la oportunidad de usar nuestras habilidades en XNA para desarrollar juegos para plataformas Windows Phone 7.</p>
<p>Ya puedes descargar la beta en: <a href="http://download.microsoft.com/download/4/E/A/4EA52332-C6B1-476E-9938-C4F805146AF5/vm_web.exe" target="_blank">WP7DT  BETA</a></p>
<p>Espero darme una escapada de mis actividades cotidianas y subir algún pequeño ejemplo apuntando al Windows Phone 7.</p>
<p>Si alguien ya hizo algo con este nuevo set de herramientas que nos platique cómo le va.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnamexico.com/2010/07/21/windos-phone-7-developer-tools-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>12 tutoriales desde Argentina con amor</title>
		<link>http://www.xnamexico.com/2010/05/29/12-tutoriales-desde-argentina-con-amor/</link>
		<comments>http://www.xnamexico.com/2010/05/29/12-tutoriales-desde-argentina-con-amor/#comments</comments>
		<pubDate>Sat, 29 May 2010 21:34:39 +0000</pubDate>
		<dc:creator>hdgam3r</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.xnamexico.com/?p=92</guid>
		<description><![CDATA[Agustin Rosso nos contactó y nos envió 12 tutoriales sobre XNA. En los tutoriales se tratan temas como: -¿Cómo mostrar video en 2D? -Animación básica. -Efectos en 2D para gráficas. -Colisiones con sprites inclinados. Si les gustan los tutoriales en video, visiten su blog: http://www.bfxstudio.net/pages/Tutoriales.aspx Gracias Agustín]]></description>
			<content:encoded><![CDATA[<p><strong>A</strong>gustin Rosso nos contactó y nos envió 12 tutoriales sobre XNA.</p>
<p>En los tutoriales se tratan temas como:</p>
<p>-¿Cómo mostrar video en 2D?</p>
<p>-Animación básica.</p>
<p>-Efectos en 2D para gráficas.</p>
<p>-Colisiones con sprites inclinados.</p>
<p style="text-align: left;">Si les gustan los tutoriales en video, visiten su blog: <a href="http://www.bfxstudio.net/pages/Tutoriales.aspx">http://www.bfxstudio.net/pages/Tutoriales.aspx</a></p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://www.bfxstudio.net/pages/Tutoriales.aspx"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/-kXN-3c8Q-I" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/-kXN-3c8Q-I"></embed></object></a></p>
<p>Gracias Agustín <img src='http://www.xnamexico.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnamexico.com/2010/05/29/12-tutoriales-desde-argentina-con-amor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>En nuestro próximo tutorial&#8230;</title>
		<link>http://www.xnamexico.com/2010/05/20/en-nuestro-proximo-tutorial/</link>
		<comments>http://www.xnamexico.com/2010/05/20/en-nuestro-proximo-tutorial/#comments</comments>
		<pubDate>Fri, 21 May 2010 01:59:37 +0000</pubDate>
		<dc:creator>hdgam3r</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Desarrollo XNA]]></category>

		<guid isPermaLink="false">http://www.xnamexico.com/?p=85</guid>
		<description><![CDATA[Como venimos prometiendo desde hace mucho tiempo, en nuestro próximo tutorial, vamos a desarrollar un juego completo en 2D. Abordaremos conceptos básicos como colisiones, sonido, animación, estados de juego, control con el mouse, etc. Para que se vayan dando una idea de qué vamos a hacer, les dejo un video con el juego terminado. Estoy [...]]]></description>
			<content:encoded><![CDATA[<p><strong>C</strong>omo venimos prometiendo desde hace mucho tiempo, en nuestro próximo tutorial, vamos a desarrollar un juego completo en 2D.</p>
<p>Abordaremos conceptos básicos como colisiones, sonido, animación, estados de juego, control con el mouse, etc.</p>
<p>Para que se vayan dando una idea de qué vamos a hacer, les dejo un video con el juego terminado.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/UCAuzSBa9CM" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/UCAuzSBa9CM"></embed></object></p>
<p>Estoy trabajando en arreglar el código para mejorar su comprensión y en escribir el tutorial.</p>
<p>Comentarios, bienvenidos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnamexico.com/2010/05/20/en-nuestro-proximo-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial: Dibujando texto en 2D</title>
		<link>http://www.xnamexico.com/2010/05/17/tutorial-dibujando-texto-en-2d/</link>
		<comments>http://www.xnamexico.com/2010/05/17/tutorial-dibujando-texto-en-2d/#comments</comments>
		<pubDate>Mon, 17 May 2010 06:16:43 +0000</pubDate>
		<dc:creator>hdgam3r</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.xnamexico.com/?p=79</guid>
		<description><![CDATA[En este tutorial, vamos a ver los conceptos básicos para dibujar texto en un juego hecho con XNA. El dibujar texto en 2D en una aplicación con XNA es muy sencillo. Puede ser que los resultados de dibujar simple texto no sean tan asombrosos como sería hacerlos con imágenes, de cualquier forma, el mostrar texto [...]]]></description>
			<content:encoded><![CDATA[<p><strong>E</strong>n este tutorial, vamos a ver los conceptos básicos para dibujar texto en un juego hecho con XNA.<br />
El dibujar texto en 2D en una aplicación con XNA es muy sencillo. Puede ser que los resultados de dibujar simple texto no sean tan asombrosos como sería hacerlos con imágenes, de cualquier forma,  el mostrar texto en pantalla puede ser de gran utilidad para otras cosas además de mostrar elementos del juego como Scores o el número de vidas restantes.</p>
<p>Primero creamos un nuevo proyecto en XNA, si no recuerdas como, dale click <a href="http://www.xnamexico.com/2010/04/21/creando-un-nuevo-proyecto/" target="_blank">aquí</a>.<br />
Una vez que tengamos nuestro proyecto nuevo, vamos  al Solution Explorer y en el nodo de Content, damos click derecho &gt; Add &gt; New Item.<br />
En las opciones que nos aparecen, seleccionamos Sprite Font y le ponemos un nombre, en mi caso le puse MiFont.spritefont. Damos Add.</p>
<p><a href="http://www.xnamexico.com/wp-content/uploads/2010/05/SPRITEFONT.png"><img class="aligncenter size-full wp-image-80" title="AddSpriteFont" src="http://www.xnamexico.com/wp-content/uploads/2010/05/SPRITEFONT.png" alt="" width="640" height="400" /></a><br />
Lo que nos generó Visual Studio es un nuevo archivo XML, el cual tiene la función de definir cómo se debe de ver nuestro texto al momento de dibujarlo. Si quieres saber más sobre XML, visita la entrada en <a href=" http://es.wikipedia.org/wiki/Extensible_Markup_Language">Wikipedia</a><br />
Entre las etiquetas que encontramos ahí, hay dos que son muy fáciles de entender:  y . La primera regula el tamaño de la fuente y la segunda el estilo de la misma (Bold, Italic, etc.). Vamos a dejar estos valores aunque si quieres modificarlos eres libre de hacerlo, sólo recuerda cerrar siempre las etiquetas.<br />
Ahora vamos a nuestro archivo Game1.cs  y justo después de la declaración del SpriteBatch y agregamos :</p>
<pre>     SpriteFont spriteFont;</pre>
<p>En este objeto vamos a cargar nuestra fuente y también vamos a poder dibujar el texto.<br />
Ahora vamos a nuesto método LoadContent y escribimos:<br />
spriteFont = Content.Load("MiFont");<br />
Ahora nuestra variable SpriteFont ya está cargada con la descripción de la fuente que creamos. El “MiFont” que le mandamos al método Load() es el nombre sin extensión de la fuente que creamos.</p>
<pre>	spriteBatch.Begin();
        spriteBatch.DrawString(spriteFont, "Hola XNA Mexico!!!!",
                new Vector2(400, 300), Color.Red);
     	spriteBatch.End();</pre>
<p>Como recordamos en de tutoriales pasados,  siempre que dibujemos con SpriteBatch, debemos hacer la llamada Begin() antes de usarlo y End() una vez que terminamos de dibujar, para dibujar texto esto no es excepción, lo que cambia aquí es que ahora usamos un método llamado DrawString() que recibe como parámetros un SpriteFont (el que creamos) un String, un Vector2D para la posición y un Color.<br />
Damos F5 para compilar y ejecutar nuestro proyecto y listo!!! Tenemos texto dibujado en pantalla.</p>
<p><a href="http://www.xnamexico.com/wp-content/uploads/2010/05/holaXNA1.png"><img class="aligncenter size-full wp-image-81" title="holaXNA1" src="http://www.xnamexico.com/wp-content/uploads/2010/05/holaXNA1.png" alt="" width="640" height="400" /></a></p>
<p>Listo, en unos pocos momentos ya tenemos texto en pantalla, ahora puedes ir de nuevo al archivo MiFont.spritefont y jugar con los valores de las etiquetas y ver qué pasa si los modificas.</p>
<p>Espero que te haya servido este artículo, si tienes dudas, comentarios o sugerencias, con gusto las atenderemos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnamexico.com/2010/05/17/tutorial-dibujando-texto-en-2d/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Taller XNA en el ITESM CEM</title>
		<link>http://www.xnamexico.com/2010/04/30/taller-xna-en-el-itesm-cem/</link>
		<comments>http://www.xnamexico.com/2010/04/30/taller-xna-en-el-itesm-cem/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 04:29:16 +0000</pubDate>
		<dc:creator>hdgam3r</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[2d]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[Desarrollo XNA]]></category>
		<category><![CDATA[dia isc]]></category>
		<category><![CDATA[itesm cem]]></category>
		<category><![CDATA[taller]]></category>
		<category><![CDATA[videojuegos]]></category>

		<guid isPermaLink="false">http://www.xnamexico.com/?p=75</guid>
		<description><![CDATA[El pasado 7 de abril, tuve la oportunidad de impartir un taller sobre XNA dentro del marco del Día ISC en el Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México. El curso duró dos horas y consistió en mostrar los fundamentos básicos de XNA en 2D a alumnos de esa institución, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.xnamexico.com/wp-content/uploads/2010/04/diaIScXNA.jpg"><img class="aligncenter size-medium wp-image-74" title="diaIScXNA" src="http://www.xnamexico.com/wp-content/uploads/2010/04/diaIScXNA-199x300.jpg" alt="" width="199" height="300" /></a></p>
<p>El pasado 7 de abril, tuve la oportunidad de impartir un taller sobre XNA dentro del marco del Día ISC en el Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México.</p>
<p>El curso duró dos horas y consistió en mostrar los fundamentos básicos de XNA en 2D a alumnos de esa institución, como era mi primera vez impartiendo un taller, el tiempo me traicionó y no terminamos el objetivo que teníamos: terminar un juego completo.</p>
<p>Esto dio paso a que el juego que tenía programado para hacer en el taller, lo convierta en un  tutorial extensivo que abarque la mayor cantidad de conceptos básicos para el desarrollo de juegos en 2D con XNA.</p>
<p>Esperen pronto los tutoriales.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnamexico.com/2010/04/30/taller-xna-en-el-itesm-cem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial: Moviendo al personaje con el control de XBOX360</title>
		<link>http://www.xnamexico.com/2010/04/29/tutorial-moviendo-al-personaje-con-el-control-de-xbox360/</link>
		<comments>http://www.xnamexico.com/2010/04/29/tutorial-moviendo-al-personaje-con-el-control-de-xbox360/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 02:26:45 +0000</pubDate>
		<dc:creator>hdgam3r</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[control gamepad]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[Desarrollo XNA]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[mover sprite]]></category>
		<category><![CDATA[personaje]]></category>
		<category><![CDATA[videojuegos]]></category>

		<guid isPermaLink="false">http://www.xnamexico.com/?p=64</guid>
		<description><![CDATA[Para poder seguir este tutorial, necesitas haber concluido el Tutorial 1: Animando un Sprite. Ya que tenemos nuestro personaje caminando, estaría padre que en realidad pudiéramos controlarlo de alguna forma, ¿no? Una de las maravillas de XNA es la facilidad que tiene para interactuar con el control del Xbox360, y precisamente es eso lo que [...]]]></description>
			<content:encoded><![CDATA[<p><strong>P</strong>ara poder seguir este tutorial, necesitas haber concluido el <a href="http://www.xnamexico.com/2010/04/21/tutorial-1-animando-un-sprite-2/">Tutorial 1: Animando un Sprite.</a><br />
Ya que tenemos nuestro personaje caminando, estaría padre que en realidad pudiéramos controlarlo de alguna forma, ¿no?<br />
Una de las maravillas de XNA es la facilidad que tiene para interactuar con el control del Xbox360, y precisamente es eso lo que vamos a hacer a continuación, el manejar nuestro personaje con el Thumbstick del control.</p>
<p><a href="http://www.xnamexico.com/wp-content/uploads/2010/04/p0.png"><img class="aligncenter size-medium wp-image-69" title="p0" src="http://www.xnamexico.com/wp-content/uploads/2010/04/p0-300x225.png" alt="" width="300" height="225" /></a></p>
<p><a href="http://www.xnamexico.com/wp-content/uploads/2010/04/p1.png"><img class="aligncenter size-medium wp-image-70" title="p1" src="http://www.xnamexico.com/wp-content/uploads/2010/04/p1-300x225.png" alt="" width="300" height="225" /></a></p>
<p>En la clase de Sprite es donde capturaremos el input del control, para esto es necesario que en la parte de arriba de la clase Sprite, agreguemos el namespace:</p>
<pre>using Microsoft.Xna.Framework.Input;
</pre>
<p>Esto sirve para traer todas las clases auxiliares que tiene XNA para el manejo del input, con teclado, mouse o gamepad.<br />
Ahora, para controlar la velocidad de nuestro personaje, vamos a agregar una nueva variable a la clase Sprite, esta se llamará velocidad y es float, la inicializamos en 0.5f.</p>
<pre>float velocidad = 0.5f;
</pre>
<p>Una vez hecho esto, nos vamos a nuestro método Update() y al principio agregamos estas simples líneas de código:</p>
<pre>GamePadState control = GamePad.GetState(PlayerIndex.One);
if (control.ThumbSticks.Left.X &lt; 0) 

      posicion.X -= velocidad * gameTime.ElapsedGameTime.Milliseconds; 

else if (control.ThumbSticks.Left.X &gt; 0)
     posicion.X += velocidad * gameTime.ElapsedGameTime.Milliseconds;
</pre>
<p><strong>¿Qué está pasando aquí?</strong><br />
La primer linea la utilizamos para crear una instancia de la clase GamePadState, la cual representa el estado del control del XBOX360 en un instante en el tiempo, es decir, contiene información sobre qué botones están apretados, si los sticks están desplazados etc. PlayerIndex.One, lo usamos para indicar de qué control queremos obtener el estado.<br />
Las clausulas if-elseif sirven para saber hacia dónde se movió el ThumbStick izquierdo. Su posición va de -1 siendo totalmente a la izquierda, 0 estando en medio y 1 estando hasta la derecha.<br />
Una vez que sabemos hacia qué lado está moviéndose el stick, simplemente modificamos la posición de nuestro sprite:</p>
<pre>posicion.X -= velocidad * gameTime.ElapsedGameTime.Milliseconds;

posicion.X += velocidad * gameTime.ElapsedGameTime.Milliseconds;</pre>
<p>Basándonos en Xf = X0 + V*T,donde V es la velocidad y T es el tiempo, que en nuestro caso expresamos en milisegundos.</p>
<p>*Como ejercicio, ahora programa el movimiento vertical del personaje.</p>
<p>Espero que te haya servido el tutorial, si tienes dudas,  o sugerencias, escribelas en la sección de comentarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnamexico.com/2010/04/29/tutorial-moviendo-al-personaje-con-el-control-de-xbox360/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial 1: Animando un Sprite</title>
		<link>http://www.xnamexico.com/2010/04/21/tutorial-1-animando-un-sprite-2/</link>
		<comments>http://www.xnamexico.com/2010/04/21/tutorial-1-animando-un-sprite-2/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 19:21:37 +0000</pubDate>
		<dc:creator>hdgam3r</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[aminacion]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[Desarrollo XNA]]></category>
		<category><![CDATA[mexico]]></category>
		<category><![CDATA[sprite]]></category>
		<category><![CDATA[videojuegos]]></category>

		<guid isPermaLink="false">http://www.xnamexico.com/?p=52</guid>
		<description><![CDATA[Una parte muy importante en un videojuego son las animaciones, ya sea un menú, un personaje, un modelo en 3D. Hay muchas técnicas para “dar vida” por medio de animación, pero en este tutorial nos enfocaremos a una técnica que utiliza hojas de sprites (sprite sheets). Primero, descarga esta imagen a tu computadora. Puedes guardarla [...]]]></description>
			<content:encoded><![CDATA[<p><strong>U</strong>na parte muy importante en un videojuego son las animaciones, ya sea un menú, un personaje, un modelo en 3D. Hay muchas técnicas para “dar vida” por medio de animación, pero en este tutorial nos enfocaremos a una técnica que utiliza hojas de sprites (sprite sheets).</p>
<p><a href="http://www.xnamexico.com/wp-content/uploads/2010/04/walkingSquareSheet.png"><img class="aligncenter size-medium wp-image-46" title="walkingSquareSheet" src="http://www.xnamexico.com/wp-content/uploads/2010/04/walkingSquareSheet-300x68.png" alt="" width="300" height="68" /></a><br />
Primero, descarga esta imagen a tu computadora. Puedes guardarla en cualquier directorio e incluso cambiarle el nombre si quieres. La imagen es editada y  pertenece originalmente a George Clingerman de <a href="http://xnadevelopment.com" target="_blank">http://xnadevelopment.com</a>.<br />
Pues comencemos:<br />
En la barra de herramientas selecciona View &gt; Solution Explorer. Esta nueva ventana es la que se encarga de mostrarnos los documentos y referencias de nuestro proyecto, ahí hay un nodo llamado content, ahí van todas nuestras imágenes sonidos, modelos, etc. Da click derecho a Content &gt; Add  &gt; Existing Item. Se abrirá una nueva ventana, busca la imagen que descargaste anteriormente  y dale Add.</p>
<p><a href="http://www.xnamexico.com/wp-content/uploads/2010/04/nodeAdd.png"><img class="aligncenter size-medium wp-image-48" title="nodeAdd" src="http://www.xnamexico.com/wp-content/uploads/2010/04/nodeAdd-233x300.png" alt="" width="233" height="300" /></a><br />
Saquen sus cuadernos que viene un poco de teoría.<br />
Como pueden ver en la hoja de sprites, el personaje se “repite”  cinco veces. ¿Encuentras las diferencias? Claro, los pies son los que cambian, pero ¿cómo paso de eso a un personaje animado? Imagina que sólo puedes dibujar en pantalla una parte de la imagen original, en nuestro caso, esa pequeña parte es precisamente la quinta parte de la imagen, por lo que sólo puedes dibujar algo como esto:</p>
<p><a href="http://www.xnamexico.com/wp-content/uploads/2010/04/sqrSolo.png"><img class="aligncenter size-full wp-image-49" title="sqrSolo" src="http://www.xnamexico.com/wp-content/uploads/2010/04/sqrSolo.png" alt="" width="70" height="80" /></a></p>
<p>Ahora simplemente tendríamos que cambiar de cuadro cada cierto tiempo, esto es lo que le daría el efecto de que se está animando nuestro personaje.<br />
Perfecto, ahora pasemos a codificar nuestra animación, como queremos ser un poco ordenados y aprovechar el paradigma orientado a objetos de C#, vamos a crear una nueva clase para nuestro personaje. En el Solution Explorer, damos click derecho en el nombre de nuestro proyecto, Add &gt; Class y le ponemos de nombre Sprite.<br />
Nuestra nueva clase es genérica así que tenemos que agregar los namespaces necesarios para convertirla a una clase de XNA. En la parte de arriba agrega las siguientes líneas:</p>
<pre>using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;</pre>
<p>Ahora proseguiremos a definir cuáles son los atributos de nuestro sprite, necesitamos que quede así:</p>
<pre>class Sprite
{
    Texture2D hojaSprites; //La imagen con los sprites
    Vector2 posicion; //La posicion en pantalla donde queremos dibujar
    int cuadrosAnimacion;//Cuantos cuadros tiene la animacion
    int milisegundosPorCuadro; //Cuando debe durar cada cuadro
    int tiempoDesdeUltimoCuadro = 0; //Tiempo desde la ultima   actualizacion
    int indiceAnimacion = 0; //En que cuadro de la animacion vamos
}</pre>
<p>Debajo de int indiceAnimacion = 0; vamos a escribir nuestro constructor, el cual nos servirá para crear nuevos sprites:</p>
<pre>public Sprite(Texture2D hojaSprites, Vector2 posicion, int cuadrosAnimacion, int milisegundosPorCuadro,
            Point tamanoCuadro)
        {
            this.hojaSprites = hojaSprites;
            this.posicion = posicion;
            this.cuadrosAnimacion = cuadrosAnimacion;
            this.milisegundosPorCuadro = milisegundosPorCuadro;
            this.tamanoCuadro = tamanoCuadro;
        }</pre>
<p>Lo que hace el constructor, es el de asignar los valores que se le mandan como parámetros y de esta forma inicializar los atributos de nuestro objeto sprite.<br />
Debajo de nuestro constructor vamos a escribir nuestro método Update(), este método será en encargado de actualizar el índice del cuadro que vamos a dibujar, el código queda así:</p>
<pre>public void Update(GameTime gameTime)
{
            tiempoDesdeUltimoCuadro += gameTime.ElapsedGameTime.Milliseconds;
            if (tiempoDesdeUltimoCuadro &gt;= milisegundosPorCuadro)
            {
                tiempoDesdeUltimoCuadro = 0;

                if (indiceAnimacion &lt; cuadrosAnimacion-1)
                    indiceAnimacion++;
                else
                    indiceAnimacion = 0;
            }
}</pre>
<p>Cada milisegundo vamos a ir aumentando la variable tiempoDesdeUltimoCuadro,si esa variable es mayor que el tiempo que habíamos definido para cada cuadro de animación, entonces es momento de actualizar el índice.<br />
Para actualizar el índice, simplemente checamos si estamos 2 números antes de  cuadrosAnimacion, si es así, podemos a vanzar la animación, en caso contrario, la reseteamos volviéndola cero.<br />
Ahora que ya sabemos qué cuadro debemos dibujar, procedemos a dibujarlo:</p>
<pre>public void Draw(SpriteBatch spriteBatch)
        {
            spriteBatch.Begin();

            spriteBatch.Draw(hojaSprites, posicion,
                new Rectangle(indiceAnimacion * tamanoCuadro.X, 0, tamanoCuadro.X, tamanoCuadro.Y),
                Color.White, 0.0f, Vector2.Zero, 1.0f, SpriteEffects.None, 0);

            spriteBatch.End();
        }</pre>
<p>Nuestro método Draw() recibe como parámetro un objeto tipo SpriteBatch, el cual podemos ver como si fuera un lienzo para pintar. Siempre que queremos dibujar algo con el SpriteBatch debemos encerrar nuestro “dibujo” entre spritebatch.begin() y spritebatch.end().<br />
El método spriteBatch.Draw(…) puede ser utilizado de varias formas, nosotros estamos utilizando una sobrecarga que recibe 8 parámetros:</p>
<ul>
<li> 1)La Texture2D a dibujar, en nuestro caso la hoja de sprites.</li>
<li> 2)Un Vector2 con la posición donde queremos dibujar.</li>
<li> 3) El SourceRectangle, que representa un rectángulo formado por una parte de nuestra imagen (la quinta parte para nosotros).</li>
<li> 4)El color que queremos darle.</li>
<li> 5)La rotación que en este caso no necesitamos.</li>
<li> 6) El origen que tomaría la rotación.</li>
<li> 7)La escala, que se queda como 1.0f para conservar el tamaño original.</li>
<li> 8)Un SpriteEffect que puede en esta ocasión no usaremos.</li>
<li> 9)La capa en la que lo queremos dibujar, por ahora dejémoslo en cero.</li>
</ul>
<p>En este punto, ya tenemos a nuestro personaje animado, pero nos falta meterlo al juego…<br />
Dentro de la clase Game1.cs hay que hacer lo siguiente:<br />
Debajo de SpriteBatch spriteBatch; define un nuevo Sprite y nombralo personaje.</p>
<pre>GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
Sprite personaje;</pre>
<p>Modifica el método LoadContent() para que quede así:</p>
<pre>        protected override void LoadContent()
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);

            Texture2D imagen = Content.Load(@"walkingSquareSheet");
            personaje = new Sprite(imagen, new Vector2(400, 300), 5, 50, new Point(70, 80));
        }</pre>
<p>personaje = new Sprite(imagen, new Vector2(400, 300), 5, 50, new Point(70, 80));<br />
Es la inicialización del constructor, le pasamos la imagen, la posición, el número de cuadros de la animación, los milisegundos por cuadro y el tamaño.<br />
Texture2D imagen = Content.Load(@"walkingSquareSheet");<br />
Se encarga de cargar una textura a memoria (asignada a la variable imagen) para después pasarla al constructor.<br />
Ahora simplemente falta que modifiques los métodos Update() y Draw() de modo que se llamen los métodos correspondientes de nuestro Sprite.</p>
<pre>        protected override void Update(GameTime gameTime)
        {
            personaje.Update(gameTime);//Llamando al método Update de Sprite

            base.Update(gameTime);
        }

        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.CornflowerBlue);

            personaje.Draw(spriteBatch); );//Llamando al método Draw de Sprite

            base.Draw(gameTime);
        }</pre>
<p>Ahora sólo queda darle F5 al proyecto y ver a nuestro personaje cobrar vida.<br />
Te recomiendo que trates de jugar con los valores de inicialización de Sprite para que veas diferentes resultados.<br />
Espero que te haya servido el tutorial, si tienes dudas, quejas o sugerencias, deja tu cometario. <img src='http://www.xnamexico.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnamexico.com/2010/04/21/tutorial-1-animando-un-sprite-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Creando un nuevo proyecto</title>
		<link>http://www.xnamexico.com/2010/04/21/creando-un-nuevo-proyecto/</link>
		<comments>http://www.xnamexico.com/2010/04/21/creando-un-nuevo-proyecto/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 16:30:11 +0000</pubDate>
		<dc:creator>hdgam3r</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[desarrollo juegos]]></category>
		<category><![CDATA[Desarrollo XNA]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[new project]]></category>
		<category><![CDATA[nuevo proyecto]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.xnamexico.com/?p=39</guid>
		<description><![CDATA[Este pequeño post es simplemente para demostrar cómo crear un nuevo proyecto, de XNA,  en cualquier versión de Visual Studio. Se necesita que tengas instalado XNA Game Studio 3.1. Más instrucciones, las puedes encontrar en el Tutorial 0. Lo primero que hay que hacer es un nuevo proyecto así que abre Visual Studio y crea [...]]]></description>
			<content:encoded><![CDATA[<p>Este pequeño post es simplemente para demostrar cómo crear un nuevo proyecto, de XNA,  en cualquier versión de Visual Studio. Se necesita que tengas instalado XNA Game Studio 3.1. Más instrucciones, las puedes encontrar en el <a href="http://www.xnamexico.com/2010/04/17/tutorial-0-instalando-el-enorno-para-programar-videojuegos-con-xna/">Tutorial 0</a>.</p>
<p>Lo primero que hay que hacer es un nuevo proyecto así que abre Visual Studio y crea un nuevo proyecto de XNA 3.1: File &gt; New Project  &gt; Visual C# &gt; XNA Game Studio 3.1. Selecciona un nombre y dale Ok. Visual Studio generará un flamante proyecto nuevo para empezar a desarrollar.</p>
<p><a href="http://www.xnamexico.com/wp-content/uploads/2010/04/vsNProy.png"><img class="aligncenter size-medium wp-image-40" title="Visual Studio New Proyect" src="http://www.xnamexico.com/wp-content/uploads/2010/04/vsNProy-300x187.png" alt="" width="300" height="187" /></a></p>
<p style="text-align: center;">Da click en la imagen para agrandarla.</p>
<p>En este punto, ya podríamos ejecutar nuestro juego: presiona F5 y observa lo que pasa… sí claro no es bonito ni mucho menos interactivo, de hecho ni siquiera le llamaría juego, pero lo importante es que a pesar de que no percibimos nada, detrás  de cámaras se está dibujando y actualizando nuestro juego.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnamexico.com/2010/04/21/creando-un-nuevo-proyecto/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tutorial 0: Instalando el entorno para programar videojuegos con XNA</title>
		<link>http://www.xnamexico.com/2010/04/17/tutorial-0-instalando-el-enorno-para-programar-videojuegos-con-xna/</link>
		<comments>http://www.xnamexico.com/2010/04/17/tutorial-0-instalando-el-enorno-para-programar-videojuegos-con-xna/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 00:05:22 +0000</pubDate>
		<dc:creator>hdgam3r</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Desarrollo XNA]]></category>
		<category><![CDATA[instalacion]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.xnamexico.com/?p=34</guid>
		<description><![CDATA[Pues el primer paso para ser desarrolladores de XNA es la instalación de nuestro entorno de desarrollo, es por eso que empezaremos instalando Visual C# 2008 Express Edition y XNA Game Studio 3.1. ¿Qué es todo esto? C# (se pronuncia “si sharp”) es el lenguaje utilizado para programar juegos en XNA, es muy sencillo de [...]]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } --><strong>P</strong>ues el primer paso para ser desarrolladores de XNA es la instalación de nuestro entorno de desarrollo, es por eso que empezaremos instalando Visual C# 2008 Express Edition y XNA Game Studio 3.1.</p>
<p><strong>¿Qué es todo esto?</strong></p>
<p><strong>C#</strong> (se pronuncia “si sharp”) es el lenguaje utilizado para programar juegos en XNA, es muy sencillo de aprender, de hecho, no necesitas saber C# para empezar a programar con XNA. Aunque sí deberías saber programar en algún otro lenguaje orientado a objetos como C++ o Java(se pueden sustituir por ganas de aprender).</p>
<p><strong>Visual C# 2008 Express Edition</strong> es el entorno de desarrollo que usaremos para varias cosas, entre ellas están el escribir y compilar nuestro código en C# , manejar los recursos de nuestro proyecto (imágenes, audio, archivos, modelos, texutras, etc.) y conectar nuestros dispositivos(Xbox 360, Zune HD).</p>
<p><strong>XNA Game Studio 3.1</strong> es la carnita de todo esto, es el Framework que nos brinda todas las facilidades para desarrollar nuestros juegos. Gracias a XNA, tenemos a nuestra disposición diferentes librerías que nos permiten dibujar imágenes en pantalla, reproducir sonidos, mostrar modelos en 3-D, hacer juegos con modalidad multijugador, utilizar controles de Xbox 360 y muchas cosas más.</p>
<p><strong>Descargas e instalación:</strong></p>
<p>Visual C# 2008 Express Edition: <a href="http://www.microsoft.com/express/Downloads/#2008-Visual-CS">http://www.microsoft.com/express/Downloads/#2008-Visual-CS</a></p>
<p>Descárgalo y ejecutalo, sigue las instrucciones en pantalla para la instalación. Es necesario que lo tengas instalado antes de seguir.</p>
<p>XNA Game Studio 3.1: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=80782277-d584-42d2-8024-893fcd9d3e82&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=80782277-d584-42d2-8024-893fcd9d3e82&amp;displaylang=en</a></p>
<p>Descárgalo y ejecutalo, sigue las instrucciones en pantalla para la instalación. Es necesario que lo tengas instalado antes de seguir.</p>
<p>Para comprobar la instalación, simplemente ve a: Inicio &gt; Todos los Programas &gt; Microsoft XNA Game Studio 3.1 &gt; Microsoft Visual C# 2008 Express Edition</p>
<p>La primera vez que lo ejecutes, te pedirá que registres el Visual C#, sigue los pasos y regístra tu Visual C#</p>
<p>Listo, ¿no fue tan difícil o sí? Así son las cosas con XNA.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnamexico.com/2010/04/17/tutorial-0-instalando-el-enorno-para-programar-videojuegos-con-xna/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bienvenidos a XNA Mexico</title>
		<link>http://www.xnamexico.com/2010/04/17/bienvenidos-a-xna-mexico/</link>
		<comments>http://www.xnamexico.com/2010/04/17/bienvenidos-a-xna-mexico/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 00:01:30 +0000</pubDate>
		<dc:creator>hdgam3r</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.xnamexico.com/?p=27</guid>
		<description><![CDATA[Hola! Este post es para darle la bienvenida a todas aquellas personas que quieren desarrollar videojuegos pero no saben por dónde comenzar. Ya sea porque saben muy poco o nada de programación, o porque se ven abatidos por la complejidad de ciertos lenguajes o tecnologías que terminan por frustrarlos y hacerlos desertar. Para saber sobre [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.xnamexico.com/wp-content/uploads/2010/04/logo_trans.png"><img class="aligncenter size-full wp-image-31" title="XNA Logo" src="http://www.xnamexico.com/wp-content/uploads/2010/04/logo_trans.png" alt="" width="230" height="114" /></a></p>
<p><strong>H</strong>ola!</p>
<p>Este post es para darle la bienvenida a todas aquellas personas que quieren desarrollar videojuegos pero no saben por dónde comenzar. Ya sea porque saben muy poco o nada de programación, o porque se ven abatidos por la complejidad de ciertos lenguajes o tecnologías que terminan por frustrarlos y hacerlos desertar.</p>
<p>Para saber sobre el sitio los invito a visitar: <a href="http://www.xnamexico.com/acerca-de-xna-mexico/">Acerca de XNA Mexico</a></p>
<p>El chiste de este blog es acercar a desarrolladores mexicanos (y de todo el mundo) al maravilloso mundo del desarrollo de videojuegos.</p>
<p>Si no tiene experiencia, usa el sitio para aprender, si tienes experiencia, usa el sitio para ayudar a otros. Seas desarrollador de XNA o no, puedes aportar positivamente.</p>
<p>Bienvenidos y siéntanse libres de opinar y formar parte de la comunidad.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnamexico.com/2010/04/17/bienvenidos-a-xna-mexico/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
