Pregunta

Entiendo que hay varias formas de combinar XNA y WPF en la misma aplicación.Me parece tentador usar WPF para todas las cosas de GUI y HUD en mis juegos XNA.¿Alguien tiene alguna experiencia práctica sobre qué tan bien funciona este enfoque en la vida real usando .NET 3.5 SP1?Cualquier peligro (como el "problema del espacio aéreo")?¿Alguna pista sobre qué enfoque funciona mejor?

¿Fue útil?

Solución

Hay una adición en 3.5 SP1 que permite una mejor interacción entre DirectX y WPF (D3DImage), y una forma de lograrlo es a través de XNA.

Aquí hay algunos detalles:

http://jmorrill.hjtcentral.com/Default.aspx?tabid=428&EntryID=259

Otros consejos

La integración de XNA ocupa un lugar destacado en nuestra lista de cosas para agregar a WPF, por lo que estamos analizando esto para futuras versiones.Estén atentos (al blog de GregSc) para conocer los detalles a medida que estén disponibles.

Ian Ellison-Taylor

Leer más sobre esto aquí

Thamir Khason presentó una excelente sesión sobre WPF/XNA/Silverlight en Tech-ed...Aquí están sus diapositivas:http://blogs.microsoft.co.il/blogs/tamir/archive/2008/04/14/my-teched-08-presentation-slides-download.aspx

PD.Esto fue bastante impresionante de ver...Tenía un juego que se ejecutaba en la Xbox.¡En su escritorio usando WPF para alojar XNA y en su teléfono móvil usando Silverlight, todos juegan uno contra el otro!

Desea utilizar D3DImage, pero D3DImage funciona de manera diferente en Windows XP que en Windows Vista o 7.

En Vista o 7, crea un renderTarget NO bloqueable para usarlo con D3DImage y usa un dispositivo Direct3D9EX.En XP, crea un renderTarget bloqueable para usarlo con D3DImage y usa un dispositivo Direct3D9 normal.

También en lugar de usar XNA, podría ser mejor usar SlimDX si solo lo haces para la PC.A SlimDX no le faltan funciones de Direct3D y es compatible con Direct3D 9, 10 y 11.

http://slimdx.org/

Personalmente desaconsejaría intentar realizar esta integración.Sé a lo que vas...la facilidad para definir elementos GUI/HUD en WPF supera con creces intentar hacer lo mismo en el antiguo XNA.Sin embargo, piense de manera realista en el tiempo que dedicará a intentar habilitar este escenario frente al tiempo que dedicará.cuánto ahorraría si hiciera todo "de forma nativa" en XNA.Además (y esto puede no ser un problema para usted), WPF no es compatible con xbox o zune...entonces te estarías limitando :-)

Oye, sé que esto ha pasado un tiempo desde que publicaste, pero si todavía estás buscando una solución WPF para XNA, quizás quieras estar atento a ella. http://red-badger.com/product.La solución XPF coloca wpf en XNA.Así que eche un vistazo, por el momento es gratuito ya que está en versión beta, pero eso irá cambiando a medida que agreguen más componentes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top