sábado, 13 de junio de 2009

Reproducción De Videos En XNA

Con la salida del XNA GS 3.1 (Link AQUI) no podía faltar un ejemplo para probar la ejecución de video. Como es algo bastante simple (lo admito, me sorprendió. Esperaba algo mas complejo) no hace falta un video tutorial. Así que comencemos.

Lo primero que vamos a hacer es crear un nuevo proyecto de XNA (OJO, el 3.1 tiene que ser. para descargarlo clic AQUI). Bien, una vez creado vamos a declarar las variables que vamos a necesitar para la ejecución del video como se ve en la imagen a continuación.

image

VideoPlayer, esta instancia de la clase nos va a permitir ejecutar, parar, pausar, obtener una textura especifica, etc.

Video, nos va a permitir cargar el contenido de nuestro video. tiene propiedades como duración, frames por segundo, alto, ancho, tipo de sonido, etc.

y por ultimo la textura que la vamos a utilizar para obtener la imagen del video a mostrar.
Bien, una vez declaradas las variables vamos a inicializar el VideoPlayer y cargar el contenido. (TEST es el nombre de ejemplo, lo tendrían que reemplazar con el nombre del video que quieran cargar)

image

Una vez que hicimos esto, vamos a hacer la lógica que va a manejar la ejecución del video. Por ej.: cuando presionemos la tecla A que ejecute el video y cuando pulsemos la tecla SPACE se pare la ejecución.
Luego lo que tendríamos que hacer es verificar si se esta ejecutando el video. si es así, obtener la textura a mostrar.
Entonces el código quedaría así.

image

Como verán el código es bastante simple y no exige demasiado, solo plantear la lógica correcta.
Espero que haya sido útil y para descargar el código completo, pueden descargarlo de
AQUI

XNA Game Studio 3.1 “On the Streets”

Por fin!

Salió la nueva versión del Game Studio de XNA, versión 3.1. Esta versión se esperaba con mucha expectativa ya que dentro de todas las nuevas funcionalidades trae el tan necesitado soporte para video “Windows Media Video” (.wmv).

Las nuevas funcionalidades las nombro a continuación:

  1. Nuevas Funcionalidades en el Framework
  2. Nuevo Contenido Conceptual
  3. Cambios En La Herramienta De Desarrollo
  4. Cambios en el XNA Framework API

1. Nuevas funcionalidades en el framework

Avatares, como ya sabemos los avatares son personajes tridimensionales que se muestran en la consola XBOX 360, con esta nueva funcionalidad permite el uso de un avatar totalmente animado utilizando clases dentro del framework para animarlo. (link al articulo completo en el fin del post)

XBOX Live Party, permite la comunicación entre 2 usuarios de XBOX a través de 8 diferentes canales de voz, siempre y cuando no estén jugando el mismo juego en la misma sesión de red.

Video, ahora soporta la visualización de clips de video en formato .wmv para uso de spash screens, logos, etc. lo que pinte ;). esto permite la ejecución de video full screen, poder obtener una textura de un video en un momento determinado, play, pausa, stop, múltiple ejecución de videos, y mas.
(Link al post de ejemplo de ejecución de Video en XNA)

Mejoras en el audio, algunas mejoras en el manejo de objetos a la hora de ejecutar o parar un sonido. liberación de recursos, etc.

Mejoras en el Content Pipeline, nuevas mejorar para agregar un tipo customizado al pipeline

2. Nuevo contenido conceptual

Graphics, mejoras en el renderizado de huesos de los modelos

3. Cambios en la herramienta de desarrollo

Visual Studio, game studio soporta proyectos 3.0 y 3.1, también permite migración de proyectos 3.0 a 3.1

XACT, nuevas mejoras en el aspecto de compresión de sonido, acepta la compresión xWMA y permite aplicar filtros a cualquier track o pista.

4. Cambios en el XNA Framework API

Microsoft.Xna.Framework.Content
Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler
Microsoft.Xna.Framework.GamerServices
Microsoft.Xna.Framework.Media
Microsoft.Xna.Framework.Net
Microsoft.Xna.Framework.Storage

Mas Información Aquí

sábado, 6 de junio de 2009

Como Utilizar XML con XNA

Dos formas entre otras tantas para trabajar con xml en xna serían:
1) UTILIZAR LA REFERENCIA A:
Provides methods for reading and writing XNA intermediate XML format.
Namespace: Microsoft.Xna.Framework.Content.Pipeline.Serialization.Intermediate
Assembly: Microsoft.Xna.Framework.Content.Pipeline (in microsoft.xna.framework.content.pipeline.dll)

Esto permite utilizar la clase IntermediateSerializer que es parte del content pipeline de XNA.
Según comentarios leídos en varias pag. con XBOX360 DA ERROR PARA PC ANDA BIEN. Si bien en msdn dice que funciona con xbox360 se ha reportado errores.
Link a MSDN

2) PARA UTILIZAR EN XBOX ES PREFERIBLE UTILIZAR .NET XML (XmlReader, XmlWriter, XmlDocument, XmlSerializer, etc).
Están disponibles en Xbox, y en pc anda bien también.
OSEA EL SYSTEM.XML;

Dejo un ejemplo de deserialización, toma los datos de un archivo XML y XNA los dibuja. Algo interesante, es el uso del ColorConverter, permite convertir un string en Color.

EJEMPLO PARA DESCARGAR