Nuevo componente en XNACommunity – MuevePersonaje

27 04 2007

Hola!! aqui os dejo una explicación de mi GameComponent Cocodrilo que os podeis descargar de www.codeplex.com/XNAcommunity (aqui aparece como muevePersonaje).

Bueno, los atributos que declaro al principio son básicamente:

1.-La posicion del cocodrilo en pantalla (Vector2d)

2.-Un array de texturas en el que almaceno todas las texturas del personaje. Cada una de las texturas es digamos un fotograma del cocodrilo en movimiento de forma que pasadas una detrás de otra de forma rápida, da sensación de movimiento.

3.-El spriteBatch que es básicamente el objeto que se encarga de dibujar en pantalla

4.-También defino una variable private float updateTime que va a controlar las veces que se ejecuta el método update. Esto lo hago así porque el método update se llama unas 60 veces por segundo, y utilizando la variable como vereis en dicho método conseguimos que se ejecute unas 15 veces de forma que nuestro personaje no se mueve tan rápido ( podéis provar vosotros mismos lo que pasa)

5.- Y por último defino una serie de enteros que van a ser los encargados de indexar el array de texturas. Por ejemplo si el cocodrilo se mueva hacia arriba el spriteBatch solo tendrá que dibujar las texturas del cocodrilo andando hacia arriba.

Después de esto podemos ver que en el método inicialize se inicializan los punteros que indexan el array además del spriteBatch y demás objetos. En el método LoadGraphicsContent simplemente cargamos las texturas en el content pipeline.

En el método update se limita a llamar a mueveCocodrilo() que es el método encargado de capturar las teclas que se estén pulsando en ese momento y dependiendo de ello se llamarán a los métodos responsables de actualizar tanto la posición del cocodrilo como la textura que tiene que mostrar el spriteBatch. Por ejemplo, si pulsamos la tecla de dirección “arriba” se llamará al método :

private void actualizaTextura_Norte()
{
posicion.Y -= 6; //actualiza la posición del cocodrilo
norte++; //actualiza el indice del array
nTextura = norte; //nTextura es la variable que utilizo para indexar el array (ver método draw)

if (nTextura > 15) //si se llega al final de las texturas de movimiento hacia arriba se restaura el valor para que las siga mostrando
{
nTextura = 8;
norte = 7;
}
}

Una de las posibles mejoras que podríamos hacerle sería en vez de tener un array de texturas, tener una sola textura y tener un array de strings (cada uno será el path de donde están almacenadas las texturas) de esta forma se ahorrará algo de espacio.

Bueno, básicamente este es el funcionamiento de mi componente espero que os sirva de ayuda!!!
Saludos!!





XNA GSE 1.0 Refresh

24 04 2007

¡Enhorabuena a todos! Ya está disponible la nueva versión de XNA (la esperada 1.1, renombrada 1.0 Refresh) para descargar y probar. Podéis ver la noticia completa en el blog del XNA Team.

Todo lo que funcionaba con XNA 1.0 funciona tal cual con XNA 1.0 Refresh, y viceversa, siempre y cuando no se usen las nuevas funcionalidades de Refresh como… (tachán) ¡renderizado de fuentes! Sí, chicos, ahora también llevamos de serie el renderizado de fuentes. ¡Ya era hora!

Os recomiendo testearlo cuanto antes y empezar a desarrollar vuestros GameComponents con Refresh.





Creators Club te regala cuatro meses

24 04 2007

Como lo oyes, cuatro meses gratis de Creators Club por la cara. Eso sí, si te diste de alta desde el lanzamiento el 11 de Diciembre hasta el 5 de Marzo, fecha en que se puso en funcionamiento el sitio Creators Club Online.

En la última noticia disponible en el blog del XNA Team podéis ver todos los comentarios, incluyendo los agradecimientos a todos aquéllos que han hecho y hacen de XNA una plataforma interactiva y ágil gracias a sus creaciones.

Algo de lo que no hemos hablado en este blog pero que es interesante para todos aquellos que sueñen con hacer algo más serio en XNA es el proyecto Dream-Build-Play. Más que un proyecto se trata de una competición mundial. Actualmente la competición se centra en un “warm-up challenge” (competición de calentamiento). Aquél que gane… ¡se lleva un contrato para publicar juegos en XBox Live Arcade!

Por otro lado, seguimos a la espera de XNA 1.1 y, en especial, de las facilidades para compartir contenidos mediante paquetes. Eso está “a la vuelta de la esquina” según el XNA Team. Ya se me hace la boca agua.





Creators Club video

23 04 2007

En la última semana me he encontrado con más de uno que me ha pedido ayuda directa o indirectamente sobre la activación y/o utilización de XNA Creators Club. Yo personalmente no tengo XBox 360, por lo tanto no he realizado el proceso, pero sé dónde puedo encontrar información. Lo siguiente es un vídeo muy bien explicado sobre cómo comprar la licencia Creators Club y cómo conectar PC y consola para jugar con juegos XNA.

Video: Getting Started with the XNA Creators Club

Espero que os ayude en vuestra diversión.





Ya tenemos FAQ

19 04 2007

Acabo de terminar el listado de preguntas sobre XNA que suelen hacerse normalmente los principiantes en XNA. Dado que XNA sólo tiene 4 meses de vida, eso nos incluye a todos. Echadle un vistazo y si no encontráis vuestra pregunta sobre las tecnologías XNA, dejad un comentario, trataremos de añadirla cuanto antes.

También se han añadido las mismas preguntas sobre XNA al sitio en codeplex, en la sección FAQ.





Bienvenidos al blog de XNACommunity

17 04 2007

Acabamos de añadir un nuevo espacio donde expresar ideas opiniones y colgar noticias e información interesante para la comunidad: nuestro nuevo blog. Ahora nuestra comunidad de usuarios puede expresarse y hacer partícipe al mundo mundial de sus logros.

Todos aquellos que deseéis colaborar en el blog, sólamente tenéis que decirlo. Entrad en nuestro foro y veréis lo sencillo que es registrarse en WordPress. Una vez hecho, avisad y uno de los administradores os añadirá como colaboradores. Podréis empezar a escribir posts y a contar vuestra vida en seguida. Recordad que los problemas que os encontráis al programar vuestros GameComponents y vuestra experiencia siempre son bienvenidas por aquéllos que están dando sus primeros pasos con XNA. Este blog nos ayudará a comunicarnos mejor y a ayudar a otros a apuntarse al proyecto.