Publicidad:
La Coctelera

XNA Dummies Site

Desarrollo de juegos

22 Abril 2007

Tutorial 2 - Mi primer juego hecho en XNA

Bueno, para empezar debemos aclarar que no soy un guru en cuanto desarrollo de juegos, entonces si en en alguna parte me estoy equivocando me pueden corregir.

Para empezar inciamos Microsoft Visual C# 2005 Express Edition e iniciamos un proyecto nuevo de tipo "Windows Game" el cual lo llamaremos MiJuego

Te recomiendo que le pongas nombres que se puedan entender a tus proyectos, así inicias con buenas practicas de programación. Tambien te ayuda para que tengas una buena guía.

Despues de esto vamos a ver la clasica ventana de programacion de Visual Studio, si no tienes idea de como funciona visual Studio y C#date una pasadita por este Tutorial.

Lo que vemos a continuación es el codigo que pone por defecto Visual Studio, aun no entraremos en detalle que significa cada linea, pero si veremos unas importantes.


Por defecto se crea una clase "madre", donde se incluye todo lo que inicia nuestro juego llamada Game1.cs

Veamos entonces unas cositas que tiene esta clase que nos interesan.

GraphicsDeviceManager graphics;
ContentManager content;

public Game1()
{
graphics =
new GraphicsDeviceManager(this);
content =
new ContentManager(Services);
}

El objetoGraphicsDeviceManager se encarga de manejar toda la parte grafica de nuestro aplicativo.
Aqui vino mi primer inconveniente al desarrollar mi juego, si no tienes la tarjeta grafica que exige los requerimientos de XNA, entonces al ejecutar nuestro juego nos saltará este pequeño error:
Could not find a Direct3D device that has a Direct3D9-level driver and supports pixel shader 1.1 or greater.

No os precocupeis, no debes salir corriendo a comprarte una tarjeta grafica que soporte esto ok.
Existe una clase que con la cual podemos reemplazar la clase de GraphicsDeviceManager y emular en nuestro PC como si tuvieramos aquella tarjeta grafica.

Al hacer este tipo de emulacion los juegos no correran a la velocidad que quisieramos, la verdad corren demasiado lento, pero por ahora nos puede servir para iniciar en este mundo.

Como queda nuestro codigo con nuestra clase.

ReferenceGraphicsDeviceManager graphics;
ContentManager content;

public Game1()
{
graphics =
new ReferenceGraphicsDeviceManager(this);
content =
new ContentManager(Services);
}

Recuerda incluir la clase en nuestro proyecto, ademas de las referencias a System.Drawing y System.Windows.Form que necesita nuestra clase.

Ahora si compilamos nuestro juego, nos saldra una hermosa ventana azul, significa que nuestro primer juego esta funcionando.


Si, ya lo se "por Dios todo esto para esta ventana azul?"... pues por ahora iniciaremos de esta forma, lento pero seguro. En nuestro siguiente tutorial cargaremos un modelo (a que si les gusta esto cierto?).


CODIGO EJEMPLO TURIAL 2

servido por Diego Fernando 3 comentarios compártelo

3 comentarios · Escribe aquí tu comentario

alxbglez

alxbglez dijo

Hola, me esta marcando esta excepcion:

Resources.Direct3DNotAvailable

Ya actualice el DirectX y el driver de mi tarjeta de vide (Nvidia de 32MB) y sigue sin funcionar ,,,, Saludos y Gracias Diego ....

23 Septiembre 2007 | 03:57 AM

Chiko

Chiko dijo

Hola tengopun problema ya realice eso y ya o me aparecio el erro pero al momento de compilar me mada una exepcion throw new NoSuitableGraphicsDeviceException("Resources.Direct3DCreateError", exception4);

12 Agosto 2009 | 02:25 AM

Aldredo

Aldredo dijo

Esta muy bueno el tuto.... queria preguntarte como vas con el C# es lo mismo que vicual basic? por que yo se algunas cositas de visual Basic pero de C# ni siquiera sabia que existia!!!!....

se puede correr este tutorial en visual basic?

23 Septiembre 2009 | 06:32 PM

Escribe tu comentario


Sobre mí

Avatar de Diego Fernando

XNA Dummies Site

Colombia
ver perfil »
contacto »

Fotos

Diego Fernando Tejada todavía no ha subido ninguna foto.

¡Anímale a hacerlo!

Categorías

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?