Microsoft XNA Game Studio 4.0
Enviado por Jillian • 22 de Noviembre de 2017 • 2.196 Palabras (9 Páginas) • 430 Visitas
...
Pad1 = Es la variable a la cual le asignaremos el valor
GamePad = Es la clase que contiene el método GetState
GetState = Es el método que obtendrá el estado de los controles
PlayerIndex.One = El numero de control que se leerá
Usando ejemplo pasados, podemos utilizar un control para jugar con los colores, solo con la línea de código de arriba:
if(pad1.Buttons.B == Button.State.Pressed) redIntensity++;
Que representa esto?
Si el botón B es presionado en el control 1, le intensidad del rojo incrementara, hacienda que la pantalla cambie de color.
Para utilizar esto con el teclado, es muy parecido, ya que en vez de usar GamePadState, tenemos una clase llamada KeyboardState, la cual actúa similar a la clase gamepad.
Para poder usar ambos al mismo tiempo, tenemos que incluir el código para que se puedan ejecutar ambos.
Aunque incluir todo el código no es eficiente, una forma eficiente de hacer esto, es mediante un if:
GamePadState pad1 = GamePad.GetState(PlayerIndex.One);
KeyboardState keys = Keyboard.GetState();
if (pad1.Buttons.B == ButtonState.Pressed ||
keys.IsKeyDown(Keys.R)) redIntensity++;
Utilizando un OR en la expresión que puede ser tanto falsa como verdadera. En este código si el botón rojo es presionado o la letra R es presionado (o ambos) el valor de redIntensity será incrementado. De este modo podremos jugar desde un control como desde un teclado.
La clase GamePad también contiene un método llamada SetVibration, este método es que esta encargado de controlar la vibración de control.
El método SetVibration usa 3 parámetros, el primero es que control vas a utilizar, y el segundo y el 3 parámetro, controla la vibración del control, del lado izquierdo y derecho.
GamePad.SetVibration(PlayerIndex.One, 0 , 1);
En XNA los solution contienen las referencias a todo lo que el proyecto usa. El solution contiene dos proyectos, uno de ellos contiene el código del programa y el otro el contenido que usa el juego. Cuando creas un proyecto de XNA, esta carpeta viene vacía, ya que todavía no tiene contenido para usar.
Las imágenes que quieras usar dentro de XNA se llaman Textures, están pueden estar sobre una superficie plana, o plasmadas en un modelo 3D.
Para poder plasmar la imagen en el juego, podemos usar este código:
Texture2D imagen;
El método Draw, dibuja la imagen en la pantalla, mientras que el método Update lo podemos utilizar para hacer mover la imagen.
Una de las formas más efectivas de usar contenido en tu juego, es cargando esta a principio:
protected override void LoadContent()
{
// Create a new SpriteBatch, which can be used to draw textures.
spriteBatch = new SpriteBatch(GraphicsDevice);
// TODO: use this.Content to load your game content here
}
Utilizamos LoadContent para cargar todo el contenido y ponerlo listo para su uso. Además de cargar todo el contenido, este crea un SpriteBatch, que permite que un grupo de Sprites puedan ser dibujados con la misma configuración. Sprite es el término común que se usa para una imagen en 2D.
Para poder manejar texto en XNA, debemos que entender primero como el computador maneja los diseños de caracteres. El diseño de la forma de los caracteres se describe como un archivo Font. El archivo Font le da la forma a cada uno de los caracteres. Para hacer que XNA muestre el texto en un Font particular, necesitamos añadir la referencia a ese archivo de Font en el proyecto del programa.
Para usar un Font, el método es parecido para usar una imagen, ya que XNA maneja los contenidos de forma similar. Cada diseño de carácter es entregado como una pequeña imagen a el programa, que el método Draw muestra en la pantalla.
Usando el método de LoadContent similar para cargar imágenes, ya que al final este se encarga de cargar los Font como imágenes:
{
// Create a new SpriteBatch, which can be used to draw textures.
spriteBatch = new SpriteBatch(GraphicsDevice);
font = Content.Load("SpriteFont1");
}
La única diferencia de este método y el que ya hemos usado, es que en vez de usar Texture2D usamos el método SpriteFont. Para dibujar las letras en el programa usamos vectores para posicionarlo, usando coordenadas donde queremos dibujarlas.
{
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
Vector2 textVector = new Vector2(20, 30);
spriteBatch.Begin();
spriteBatch.DrawString(font, "Hello World", textVector, Color.Red);
spriteBatch.End();
base.Draw(gameTime);
}
Usted ha colocado la esquina superior izquierda del texto en el lugar 20 píxeles a través de la pantalla y 30 píxeles hacia abajo.
Un programa puede hacer tres cosas ya que se ejecuta. Se puede realizar una sola acción (una declaración), se puede tomar una decisión de qué hacer (una declaración condiciones), o puede repetir algo (una construcción de ciclo).
La variable de control prácticamente un mandato impuesto por el uso habitual es utilizar la letra i Iterador como variable de control, o bien sus sucesoras en caso de bucles
...