ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Microsoft XNA Game Studio 4.0


Enviado por   •  15 de Febrero de 2016  •  Ensayos  •  2.233 Palabras (9 Páginas)  •  227 Visitas

Página 1 de 9

Microsoft XNA Game Studio 4.0

El primer capítulo no solo es una introducción a XNA sino que también nos empapa sobre C#, las diferencias entre un programador y un buen programador. Como también 3 claves esenciales para aprender a programar.

Para aprender a programar existen 3 claves esenciales:

  • La Practica
  • Estudiar
  • Persistente

La práctica hace la perfección.

Estudiar códigos de otra persona te hace ver otro punto de vista, y puedes aprender de ellos.

Ser persistente, la mayor causa de que las personas no llegan a ser programadores, es que no es que sean brutos, pero es más porque abandonan.

La diferencia entre un programador y un buen programador, es que el buen programador es aquel que admite sus errores, y que puedes encontrar una mejor solución que la que él encontró sin enojarse.

El libro tiene dos puntos fundamentales, los cuales son: Aprender C# y como usar XNA.

C# es un lenguaje de programación para que el computador lo pueda interpretar, mientras que XNA son un conjunto de herramientas que nos ayudará a desarrollar un juego.

A la hora de crear un juego, la aplicación ya viene con ciertos valores, que cuando se corre, nos presenta una pantalla azul.

Esta pantalla azul aparece ya que cuando creamos un proyecto, se crea un archivo Game1.cs el cual se encarga de dibujar la pantalla azul, usando el método:

 protected override void Draw(GameTime gameTime)

{

        GraphicsDevice.Clear(Color.CornflowerBlue);

        base.Draw(gameTime);

}

XNA viene ya con unos colores predeterminados, pero si se quiere trabajar con unos colores que este no incluya, solo se necesita la combinación de RGB(Red, Green, Blue), para obtener tu color.

Para crear tu propio color primero tienes que almacenar el valor de la variable en una variable, digamos ColorFondo, esta variable será tipo Color.

Para usar el nuevo color que necesitas utilizamos el siguiente código:

protected override void Draw(GameTime gameTime)

{

Color backgroundColor;

Aquí creamos la variable BackgroundColor de tipo Color.

backgroundColor = new Color(0,0,0);

Asignamos el valor a la variable backgroundColor

Color(0,0,0) Significa Color (Rojo, Verde, Azul), y ser la cantidad de cada color que se mezclara para asi obtener el color que se busca.

GraphicsDevice.Clear(backgroundColor);

El Método Clear, es el que suplirá el nuevo color que usaste para el fondo.

base.Draw(gameTime);

}

El programa de juego es en verdad una clase llamada Game1. Una clase es una colección de métodos y variables que forman un programa.

La clase Game1 contiene Update y Draw, estos son métodos que los provee XNA. Existe una diferencia entre estos métodos.

El método Draw corre en ciclos pero dependiendo del rendimiento del procesador del equipo. Mientras que el método Update, tiene un número fijo de ciclos, haciendo que este no baje, aún por bajo rendimiento del procesador.

A la hora de usar la data del mundo o Game World Data, esta información debe ser parte de una clase, para que Draw y Update puedan hacer uso de ella.

Hay una forma de usar el método Draw o dibujar jugando con la intensidad de los colores,  podemos utilizar el manejo de memoria para actualizar los valores de los colores. Asignándoles lugares de memoria a los colores, creamos un pequeño programa que hace que cambie de colores según los lugares en memoria del proyecto.

Cuando estamos haciendo una luz que cambie de intensidad, sería impresionante que en vez de cambiar de repente de un color a otro, este se degradara lentamente, para hacer la transición de un color a otro más suave. Una forma fácil de hacer esto, es que en vez de cambiar los valores RGB, este se fuera incrementando o reduciendo poco a poco. Imagínense una secuencia que sería:

  • Si cuentas hacia arriba, incrementar los valores de redIntensity
  • Si estamos contando hacia abajo, disminuir los valores de redIntensity
  • Si redIntensity es 255, cambiar el conteo hacia abajo
  • Si redIntensity es 0, cambiar el conteo hacia arriba

Al representar este algoritmo en el código, podemos crear un cambio suave en la intensidad de la luz.

Podemos crear una sentencia condicional, que el resultado de esta puede ser Falso o Verdadero.

Esta comienza con la palabra if y luego sigue la condición. Esto se usa más para hacer que cuando dicha condición sea verdadera que ejecute ciertas líneas de código de lo contrario hace algo más.

if(true)

{

//Ejecutar esto

};

En la línea de código, establecemos que si la condición es cierta, ejecute ciertas líneas de código dentro de esta, lo mismo puede suceder si la condición es falsa.

Dentro de las condiciones, están los else, estos diría que son la continuación del if, ya que estos son una condición que le continúan a otra, en pocas palabras:

if = si esto se cumple corre el código

else = de lo contrario corre este código.

Si tradujéramos lo que antes usamos con la intensidad de los colores, se representaría de esta forma:

  • if (redIntensity == 255) redCountingUp = false;
  • if (redIntensity == 0) redCountingUp = true;
  • if (redCountingUp) redIntensity++;
  • else redIntensity--;

Ya que sabemos cómo usar diferentes métodos y como asignarles valores a las variables, pero para crear un juego, debemos saber cómo leer las entradas del usuario ya sea por un control o teclado.  Hay diferentes formas de que estos pueden estar conectados, pero esto no afecta, porque al final la función será la misma, enviar o recibir información.

Para leer un control XNA viene con una clase llamada GamePadState, el trabajo de esta clase es proveer con la conexión necesaria entre el programa y el control físico.

La clase GamePad contiene el método GetState el cual obtiene el estado de uno de los controles. Cuando GetState es llamado, este va al control, lee su configuración, y luego devuelve la información devuelta de donde fue llamada.

Una forma que podemos representar esto es así:

GamepadState pad1 = GamePad.GetState(PlayerIndex.One);

GamePadState = Es la clase

...

Descargar como (para miembros actualizados)  txt (14.2 Kb)   pdf (149.2 Kb)   docx (17.3 Kb)  
Leer 8 páginas más »
Disponible sólo en Clubensayos.com