lunes, 15 de junio de 2009

Xpertum: mi proyecto final de carrera

Y aqui tenemos la presentación que realizé el 12 de Junio de este fantástico 2009.


viernes, 29 de mayo de 2009

Planificación del movimiento del brazo articulado de un robot

Bueno, hace un par de años que no escribía en este blog lleno de buenas intenciones. Igual cambia esta tendencia los próximos meses, ya se vera. En cualquier caso, este año he aprendido mucho en la asignatura Geometría Computacional aquí en mi facultad, y tenia ganas de compartir este trabajo que realice en la asignatura con todo el mundo, porque me parece interesante.

Aquí os dejo la presentación/trabajo para configurar el movimiento de un brazo articulado de robot, un saludo.



martes, 14 de agosto de 2007

Anunciada nueva version XNA Game Studios



Parece ser que desde el Gamefest 2007 que se está celebrando estos dias la XNA Community Gamne Plataform, los desarroladores de XNA han naunciado una nueva version de esta plataforma de programación de juegos.

El XNA Game Studio 2.0 saldrá a finales de 2007 con diversas novedades (esperemos que el Xact Audio sea uno de los mayores cambios...) .

Habra que analizar los cambios con calma a ver que provecho se puede sacar de las novedades y que cambios nos empujan al suicidio. Ya veremos.

Aqui teneis la lista [Novedades]

domingo, 15 de julio de 2007

XNA: Escribir por pantalla

Hello! Hoy he completado el código fuente del otro día, para que se pueda escribir por pantalla.

De esta forma, a parte de poner un mensaje en la parte superior, cada vez que le demos a una de los números de nuestro teclado, cambiara el color que estamos limitando y cambiara le mensaje de la esquina inferior, en la que aparece que color es el que estamos dejando ver y cual es su valor en el formato RGB.



Para poder escribir, hemos tenido que usar un nuevo fichero y una nueva clase.

  • Un fichero que describe la fuente que usamos, con su nombre y sus características. Tened presente que tiene que existir una fuente con este nombre en la carpeta de windows donde almacenamos las fuentes para las letras.
  • La clase SpriteFont, que es la que almacenará la fuente, para que la clase SpriteBach, que es la que pinta, pueda ejecutar el metodo DrawString, al que le pasaremos la fuente (SpriteFont), el texto a escribir, la posición (con un Vector2) y el color de la letra.
Ale, aquí tenéis el código.

Ejemplo escribir por pantalla

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

XNA: ¿Que necesito?

Bueno, por si alguien esta interesado en programar mediante estas herramientas necesitara descargarse tan solo 2 programas:

Instalad las aplicaciones en este este orden, pues el XNA Game Studio se instala sobre el Visual C#.

Ambas aplicaciones son gratuitas (el Visual C# te pide que te registres nada más, pero es gratis).

XNA: Pintar una imagen por pantalla

Buenas, he creado este mini-tutorial para pintar una imagen por pantallamediante XNA.

  1. Creamos un nuevo proyecto con XNA Game Studio Express de tipo Game Windows (para Xbox 360 seria lo mismo en realidad).
  2. Agregamos la imagen que queremos pintar al proyecto ( Proyecto -> Agregar Elemento Existente..).
  3. En la ventana de propiedades (Ver -> ventana de Propiedades) si clicamos sobre la imagen podemos ver el nombre que le da el sistema a nuestra imagen, es el que usaremos para cargarla mediante código fuente.




Ok, aquí empieza lo bueno, pintemos:
  • Crearemos una Texture2D que contendrá nuestra imagen tal que así Texture2D t2d = content.load("nombredelaimagen"); como veis la clase content esla encargada de cargar contenido, par el ejemplo definimos t2d global y la cargamos.
  • SpriteBatch, esta clase se encargara de pintar la imagen mediante su método Draw y es un shader sencillo que lleva XNA de serie, lo crearemos así SpriteBatch sb = new SpriteBatch(graphics.GraphicsDevice);
  • Ahora ya estamos listos para pintar, asi que vayamos al metodo Draw donde XNA tiene el thread que se encargara de pintar. Para usar SpriteBatch tenemos que indicárselo a la clase sb.Begin(), pintar, y después decirle que ya hemos terminado sb.End(). Esto es importante, porque de no hacerlo ais no veremos nada.
  • Y para terminar, el método que pinta sb.Draw(t2d, new Rectangle(0,0,800,600), Color.White), bien, como veis tienes 3 parametros en este caso, el primero, la imagen que queremos pintar,el segundo un rectángulo que XNA definira como el espacio en el que se pintara nuestra imagen y por ultimo, un color, que si lo dejamos blanco no afectara a nuestra imagen final.
Y ya tenemos listo el programa.

Aquí os dejo el código fuente con todo el material para el XNA Game Studio Express.

Ejemplo XNA Pintar Imagen