Как стать автором
Обновить

Комментарии 21

Где-то я уже такое видел…
Привет, не знал что ты на хабре есть. В твиттере моем ты это видел, я туда постил идеи с неделю-две назад)
Блин, я про iTunes подумал :)
Спасибо за полезную статью!
Интересно было бы посмотреть обратный вариант. Добавить в игру на XNA интерфейс на WPF. Релизовать в XNA с нуля списки с прокруткой, слайдеры и других контролов с поддержкой скинов нетривиальная задача. Однако, подозреваю, что встроить WPF в XNA практически невозможно :).
Видел использование контролов WinForms в играх на XNA. Плюс есть несколько готовых библиотек контролов на XNA (например XNA Simple Gui
А может вам FluidKit попробовать? Там есть подходящий контрол ElementFlow.
Спасибо, поразбираю на досуге)
1) В WPF уже есть свой механизм рендеринга 3D — родной и понятный. В большом классе задач его может быть достаточно.
2) В вашем случае при использовании WindowsFormsHost вы получаете проблему «разделения воздушного пространства». Т.е. вы элементарно не сможете положить WPF-кнопочку поверх рендера XNA. И как правило это может создавать огромные неприятности.

Ну а так — забавно, мы аналогичным образом встраивали рендер Direct3D в приложение на WPF.
1. Знаком с ним, но все-же бывают случаи когда нужно что-то помощнее)
2. Тут можно схитрить — делать рендер в невидимое окно, получать с него картинку и пихать в Image.
2. Тогда тормозить будет это раз, а во-вторых проблема с вводом. Проще тут нативный 3D-движок от WPF использовать.
Всякое бывает, не настаиваю на единственноверности своего решения)
Я думаю идеальный способ как подружить WPF с XNA трудно найти.
Но все равно спасибо за статью.
Когда плеер скачать можно будет?
Я сейчас только начал изучать WPF и этот медиаплеер скорее тестовый полигон, так что не скоро(
Тем не менее ждем)
msdn.microsoft.com/en-us/magazine/cc163328.aspx — относительно threading в WPF. Поможет побороть вам некоторые проблемы (такие как обращение к WPF контролам из другого потока например)
Спасибо! Интересный материал.
Неясно из текущего решения — мы не создаем экземпляр класса наследованного от xna-гейма? И run так же не делаем?
У меня сейчас подключен box2d, который требует для инициализации трассировщика событий ссылку на класс производный от Game. Не имея именно унаследованного класса, бокс работать не будет.
Возможно ли как то решить эту задачу, или адекватная связка wpf+box2d невозможна?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации