Ciclo de ejecución de un juego XNA.

octubre 18, 2008 at 1:57 pm Deja un comentario

Es importante conocer el ciclo de ejecución de un juego creado con XNA.
Al crear un nuevo proyecto de juego XNA, podemos ver como se crean una serie de métodos automáticamente, estos son los métodos principales del juego.

Una aplicación normal, como cualquiera de las que usas en tu PC a diario, normalmente lo que hace al ejecutarse es esperar a que realices una acción para ejecutarla, mientras tanto esta a la espera, un juego se comporta de forma distinta, también está a la espera de que realices una acción, como pulsar un botón del mando o una tecla del PC, pero mientas lo haces, no se queda simplemente esperando ya que un juego siempre está ejecutándose en blucle (una vez tras otra), por lo tanto estará continuamente ejecutando los métodos antes mencionados, por eso es tan importante conocer que hace cada uno de esos métodos y en qué orden los ejecuta, debemos saber donde escribir nuestro código. Navegando por Internet he encontrado este diagrama que explica a la perfección el flujo que sigue un juego: (xna-para-torpes.blogspot.com/)

Ahora crea un proyecto nuevo de juego Windows y observa los métodos que crea, están colocados en el mismo orden en el que se ejecutan:
Lo primero que encontramos es el constructor del juego, aquí pondremos las cosas que queremos que se ejecuten si o si, por ejemplo inicializamos el valor de la carpeta donde guardaremos los contenidos del juego como gráficos o músicas, el tamaño de la ventana de juego, si queremos que sea a pantalla completa, etc.

        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
        }

Lo siguiente es el método Initialize, aquí va toda la lógica de inicialización del juego, aquí en nuestro juego hemos definido la posición donde se pinta nuestra nave en la pantalla.

        protected override void Initialize()
        {
            // TODO: Add your initialization logic here

            base.Initialize();
        }

El método Update, este método se ejecuta constantemente y es donde actualizaremos el estado del juego, por ejemplo aquí programaremos el movimiento de los sprites al pulsar el teclado.

        protected override void Update(GameTime gameTime)
        {
            // Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            // TODO: Add your update logic here

            base.Update(gameTime);
        }

Y por último se ejecuta el método Draw, que es donde se pintaran en pantalla todos los elementos del juego.

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

            // TODO: Add your drawing code here

            base.Draw(gameTime);
        }

¡Hasta la próxima!

Anuncios

Entry filed under: XNA. Tags: , , , , , .

Still Alive, el tema principal de Mirrors Edge. Microsoft quiere que hablemos bien.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Entradas recientes

Categorías

octubre 2008
L M X J V S D
« Sep   Nov »
 12345
6789101112
13141516171819
20212223242526
2728293031  

Feeds

Visitas totales:

  • 92,546 visitas
wordpress stats

A %d blogueros les gusta esto: