Quanto bene WPF si fonde con XNA nella vita reale?
Domanda
Comprendo che esistono diversi modi per fondere XNA e WPF nella stessa applicazione.Trovo allettante utilizzare WPF per tutte le cose della GUI e dell'HUD nei miei giochi XNA.Qualcuno ha qualche esperienza pratica su come funziona questo approccio nella vita reale utilizzando .NET 3.5 SP1?Eventuali insidie (come ad esempio "problema dello spazio aereo")?Qualche suggerimento su quale approccio funziona meglio?
Soluzione
C'è un'aggiunta nella versione 3.5 SP1 che consente una migliore interazione tra DirectX e WPF (D3DImage) e un modo per arrivarci è tramite XNA.
Ecco alcuni dettagli:
http://jmorrill.hjtcentral.com/Default.aspx?tabid=428&EntryID=259
Altri suggerimenti
L'integrazione di XNA è in cima alla nostra lista di cose da aggiungere a WPF, quindi la stiamo esaminando per le versioni future.Resta sintonizzato (sul blog di GregSc) per i dettagli non appena saranno disponibili.
Ian Ellison-Taylor
Leggi di più su questo argomento Qui
Thamir Khason ha presentato un'eccellente sessione su WPF/XNA/Silverlight al Tech-ed...Ecco le sue slide:http://blogs.microsoft.co.il/blogs/tamir/archive/2008/04/14/my-teched-08-presentation-slides-download.aspx
PS.È stato piuttosto impressionante da vedere...aveva un gioco che girava su xbox.Sul suo desktop usa WPF per ospitare XNA e sul suo cellulare usa Silverlight, tutti giocano uno contro l'altro!!!
Vuoi utilizzare D3DImage, ma D3DImage funziona in modo diverso su Windows XP rispetto a Windows Vista o 7.
Su Vista o 7, crei un renderTarget NON bloccabile da utilizzare con D3DImage e utilizzi un dispositivo Direct3D9EX.Su XP, crei un renderTarget bloccabile da utilizzare con D3DImage e utilizzi un normale dispositivo Direct3D9.
Inoltre, invece di utilizzare XNA, potrebbe essere meglio utilizzare SlimDX se lo stai realizzando solo per PC.SlimDX non manca di funzionalità Direct3D e supporta Direct3D 9, 10 e 11.
Personalmente sconsiglio di provare a fare questa integrazione.So cosa stai cercando...la facilità di definire elementi GUI/HUD in WPF supera di gran lunga il tentativo di fare lo stesso nel semplice vecchio XNA.Tuttavia, pensa realisticamente al tempo che dedicherai cercando di abilitare questo scenario rispetto al tempo che dedicherai a questo scenario.quanto risparmieresti se facessi tutto "nativamente" in XNA.Inoltre (e questo potrebbe non essere un problema per te), WPF non è supportato su Xbox o Zune...quindi ti limiteresti :-)
Ehi, so che è passato un po' di tempo dalla tua pubblicazione, ma se stai ancora cercando una soluzione WPF per XNA potresti tenerla d'occhio http://red-badger.com/prodotto.La soluzione XPF inserisce wpf in XNA.Quindi dai un'occhiata, al momento è gratuito perché è in versione beta ma cambierà man mano che verranno aggiunti più componenti