Inicio > Games, Tips, XNA > [Tips – XNA] Manipulación del estado del Teclado (parte 2)

[Tips – XNA] Manipulación del estado del Teclado (parte 2)

Aquí vamos a observar cómo es que podemos realizar la manipulación del teclado para mover un automóvil, bien lo que hacemos primero es cargar el Sprite, luego moverlo (manipularlo) y por ultimo dibujarlo como lo hicimos con el Sprite de camino, así que iniciamos declarando nuestras variables de la siguiente manera:

//varibales del auto
        Texture2D Camaro;
        Vector2 posCamaro;
        //limites del camino, para q el camaro no salga del camino
        int maxIzq = 270;
        int maxDer = 428;

Bien, ya con las variables necesarias establecidas, seguimos con la carga de nuestro Sprite que en mi caso se llama “camaro”, y que se encuentra en la carpeta Content, como lo hicimos con el camino, lo cargamos dentro de nuestro método protected override void LoadContent(), nuestro código va debajo del bucle for, y queda así:

//carga de la textura del camaro y su posicion
            Camaro = Content.Load<Texture2D>("camaroarriba");

            //indica en donde aparece el camaro,
            //a la hora de ejecutar el juego
            posCamaro = new Vector2(350, 300);

El siguiente paso es darle movimiento a nuestro auto, así que para ello necesitamos declarar la variable del estado del teclado, esto dentro del método protected override void Update(GameTime gameTime), y quedas así:

//manupulacion del teclado para mover el camaro
            KeyboardState estadoTeclado = Keyboard.GetState();

Esta declaración nos permite indicar que hacer cada que se presione cierta tecla de nuestro teclado. Ahora solo queda darle la lógica, es decir que hacer cada que se presione o no cierta tecla, lo que hacemos es decirle que según las flechas del teclado, el automóvil se mueva hacia la izquierda, derecha, arriba y abajo. De la misma manera lo limitamos para que no salga de la pantalla ni del camino, dentro del mismo método de Update, colocamos este código después de la declaración:

//mover el camaro hacia la izq
            if (estadoTeclado.IsKeyDown(Keys.Left))
            {
                posCamaro.X -= 4;
                //limite del camaro a la izq
                if (posCamaro.X < maxIzq)
                    posCamaro.X = maxIzq;
            }
            //moverl el camaro hacia la der
            else if (estadoTeclado.IsKeyDown(Keys.Right))
            {
                posCamaro.X += 4;
                //limite del camaro hacia la der
                if (posCamaro.X > maxDer)
                    posCamaro.X = maxDer;
            }
            //mover el camaro hacia arriba
            else if (estadoTeclado.IsKeyDown(Keys.Up))
            {
                posCamaro.Y -= 3;
                //limite del camaro hacia arriba
                if (posCamaro.Y < 0)
                    posCamaro.Y = 0;
            }
            //mover el camaro hacia abajo
            else if (estadoTeclado.IsKeyDown(Keys.Down))
            {
                posCamaro.Y += 3;
                //limite del camaro hacia abajo
                if (posCamaro.Y > 460)
                    posCamaro.Y = 460;
            }

Ya que tenemos la carga de nuestro Sprite, y la lógica para que este se mueva, ahora solo nos queda dibujarlo, recuerden que para aumentar o disminuir la velocidad a la que se mueve el auto, solo basta con cambiar el valor de 4 por otro número dentro de las condiciones. Por el momento para dibujar nuestro Sprite escribimos el siguiente código dentro del método protected override void Draw(GameTime gameTime) justo debajo del SpriteBatch.Draw del camino.

//dibujar el camaro
            spriteBatch.Draw(Camaro, posCamaro, Color.White);

Ahora si compilamos y ejecutamos, podemos observar nuestro camaro, y lo podemos mover con las flechas del teclado, y queda algo así.

     4

Categorías:Games, Tips, XNA
  1. Aún no hay comentarios.
  1. No trackbacks yet.

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

A %d blogueros les gusta esto: