sábado, 14 de julio de 2007

XNA: Teclado y limitar los colores

Buenas, usando el codigo fuente de nuestro ejemploanterior de comocargar una imagen y pintarla, he alterado el codigo para darle uso al tercer parametro del metodo SpriteBatch->Draw, el color.

Este parametro si se deja en blanco pinta la imagen sin alterarla, ¿porque? porque el bloanco incluye todo la gama de colores. Y es que el color que le pasemos a SpriteBatch sera el unico que veremos por pantalla.

El codigo que teneis mas abajo lee los numeros que pulseis de vuestro teclado y cambia el color que estamos diciendo quesolo puede pintar.

Asi, si enviamos colores primarios como el rojo, el verde y el azul (o formato RGB en el que estan implementados los colores de la clase Colors) solo veremos las partes de la imagen que tengan este color.

Estos son loscoloresque permitiremos ver para las teclas numericas en el ejemplo:

1 -> Blanco (veremos la imagen original porque todos los colores stan incluidos en el blanco)
2 -> Rojo
3 -> Verde
4 -> Azul
5 -> Oro
6 -> Rosa
7 -> Amarillo
8 -> Naranja
9 -> Negro (no veremos nada (oscuridad total), porque el negro no incluye ningun color)

Como vereis, para recoger el estado del teclado y saber si alguien pulsa una tecla he usado Keyboard.GetState().IsKeyDown(Keys.LATECLAQUEQUERAMOS) que nos devuelve un booleano si alguien la esta pulsando.

Esta comprobacion, como cualquiera que sea de control en XNA es recomendable hacerla en el metodo "Update" ya que constituye un thread especifico para este tipo de comprobaciones de estado de perifericos.

Aqui teneis el codigo fuente:
Ejemplo XNA Colores y Teclado

No hay comentarios: