Насколько хорошо WPF сочетается с XNA в реальной жизни?

StackOverflow https://stackoverflow.com/questions/43596

  •  09-06-2019
  •  | 
  •  

Вопрос

Я понимаю, что есть несколько способов объединить XNA и WPF в одном приложении.Я нахожу заманчивым использовать WPF для всех графических интерфейсов и HUD в моих играх XNA.Есть ли у кого-нибудь какой-либо практический опыт относительно того, насколько хорошо этот подход работает в реальной жизни с использованием .NET 3.5 SP1?Любые подводные камни (такие как "проблема с воздушным пространством")?Есть какой-нибудь намек на то, какой appoach работает лучше всего?

Это было полезно?

Решение

В версии 3.5 SP1 есть дополнение, которое позволяет улучшить взаимодействие между DirectX и WPF (D3DImage), и один из способов добраться до этого - через XNA.

Вот некоторые подробности:

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

Другие советы

Интеграция XNA занимает одно из первых мест в нашем списке того, что нужно добавить в WPF, поэтому мы рассматриваем это в будущих версиях.Следите за обновлениями (в блоге GregSc), чтобы узнать подробности по мере их появления.

Иэн Эллисон-Тейлор

Узнайте больше об этом здесь

Тамир Хасон представил отличную сессию о WPF / XNA / Silverlight на Tech-ed...Вот его слайды:http://blogs.microsoft.co.il/blogs/tamir/archive/2008/04/14/my-teched-08-presentation-slides-download.aspx

PS.Это было весьма впечатляющее зрелище...у него была игра, которая запускалась на xbox.На его рабочем столе, использующем WPF для размещения XNA, и на его мобильном телефоне, использующем silverlight, все они играют друг против друга!!!

Вы хотите использовать D3DImage, но D3DImage работает по-разному в Windows XP по сравнению с Windows Vista или 7.

В Vista или 7 вы создаете неблокируемый инструмент визуализации для использования с D3DImage и используете устройство Direct3D9Ex.В XP вы создаете блокируемый объект визуализации для использования с D3DImage и используете обычное устройство Direct3D9.

Также вместо использования XNA, возможно, было бы лучше использовать SlimDX, если вы просто делаете это для ПК.SlimDX не лишен каких-либо функций Direct3D и поддерживает Direct3D 9, 10 и 11.

http://slimdx.org/

Лично я бы не советовал пытаться осуществить такую интеграцию.Я знаю , к чему ты клонишь ...простота определения элементов GUI / HUD в WPF значительно перевешивает попытки сделать то же самое в простом старом XNA.Однако реалистично подумайте о времени, которое вы потратите на попытки включить этот сценарий.сколько бы вы сэкономили, если бы просто делали все "изначально" в XNA.Кроме того (и это может быть не проблемой для вас), WPF не поддерживается на xbox или zune ...так что вы бы ограничили себя :-)

Привет, я знаю, что прошло некоторое время после твоей публикации, но если ты все еще ищешь решение WPF для XNA, возможно, тебе захочется следить за http://red-badger.com/product.Решение XPF помещает wpf в XNA.ИТАК, взгляните, на данный момент это бесплатно, так как находится в бета-версии, но это будет меняться по мере добавления новых компонентов

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top