Comments 21
Где-то я уже такое видел…
+2
Спасибо за полезную статью!
+3
Интересно было бы посмотреть обратный вариант. Добавить в игру на XNA интерфейс на WPF. Релизовать в XNA с нуля списки с прокруткой, слайдеры и других контролов с поддержкой скинов нетривиальная задача. Однако, подозреваю, что встроить WPF в XNA практически невозможно :).
+1
Видел использование контролов WinForms в играх на XNA. Плюс есть несколько готовых библиотек контролов на XNA (например XNA Simple Gui
+1
1) В WPF уже есть свой механизм рендеринга 3D — родной и понятный. В большом классе задач его может быть достаточно.
2) В вашем случае при использовании WindowsFormsHost вы получаете проблему «разделения воздушного пространства». Т.е. вы элементарно не сможете положить WPF-кнопочку поверх рендера XNA. И как правило это может создавать огромные неприятности.
Ну а так — забавно, мы аналогичным образом встраивали рендер Direct3D в приложение на WPF.
2) В вашем случае при использовании WindowsFormsHost вы получаете проблему «разделения воздушного пространства». Т.е. вы элементарно не сможете положить WPF-кнопочку поверх рендера XNA. И как правило это может создавать огромные неприятности.
Ну а так — забавно, мы аналогичным образом встраивали рендер Direct3D в приложение на WPF.
+1
Когда плеер скачать можно будет?
+1
msdn.microsoft.com/en-us/magazine/cc163328.aspx — относительно threading в WPF. Поможет побороть вам некоторые проблемы (такие как обращение к WPF контролам из другого потока например)
+1
Вот еще есть статья по интеграции XNA 4.0 в WPF:
blogs.msdn.com/b/nicgrave/archive/2010/07/25/rendering-with-xna-framework-4-0-inside-of-a-wpf-application.aspx
blogs.msdn.com/b/nicgrave/archive/2010/07/25/rendering-with-xna-framework-4-0-inside-of-a-wpf-application.aspx
+1
Ну да, тут по сути то, что я предложил во второй части этого коммента: habrahabr.ru/blogs/XNA/101165/#comment_3132979
0
Неясно из текущего решения — мы не создаем экземпляр класса наследованного от xna-гейма? И run так же не делаем?
У меня сейчас подключен box2d, который требует для инициализации трассировщика событий ссылку на класс производный от Game. Не имея именно унаследованного класса, бокс работать не будет.
Возможно ли как то решить эту задачу, или адекватная связка wpf+box2d невозможна?
У меня сейчас подключен box2d, который требует для инициализации трассировщика событий ссылку на класс производный от Game. Не имея именно унаследованного класса, бокс работать не будет.
Возможно ли как то решить эту задачу, или адекватная связка wpf+box2d невозможна?
0
Only those users with full accounts are able to leave comments. Log in, please.
Дружим XNA и WPF