WPF <-> XNA - как объединить эти две технологии?

Я уже читал на немногих местах, что возможно объединить XNA и WPF. То, в чем я лично нуждаюсь, является игрой/редактором карт, которая на самом деле была бы самой игрой (будет иметь механизм, работающий в фоне), потому что система карты пишет сериализированные версии объектов к XML, которые позже загружаются.

Моя проблема состоит в том, что я хочу стандартное приложение, это выполнило механизм в фоновом режиме и создает игровые активы, поскольку пользователь создает их из frontend, и позже сериализируйте их и поместите в XML.

Это также пригодилось бы, если возможно выполнить WPF от игры для UI, если бы у кого-либо был какой-либо опыт с этим, то я ценил бы, если он совместно использовал бы его.

Вскоре: как я могу сделать WPF (или winforms) приложением, которое имеет код XNA, работающий в одном из, его - управление, и в фоне?

5
задан Johnny 29 January 2010 в 22:01
поделиться

4 ответа

Я не знаю никого, кто встраивал бы элементы управления WPF в игровое окно XNA. Это было бы очень сложно из-за того, что они оба используют DirectX для рендеринга. Так как вам разрешено делать что угодно с XNA, это сделает WPF оверлеи и все остальное не очень сложным. Если Вы ищете внутриигровые элементы управления, попробуйте NeoForce.

Пойти другим путем гораздо проще (читайте: на самом деле поддерживается). Я знаю, что вы можете встроить окно XNA в пользовательский элемент управления Windows -- смотрите this для быстрой демонстрации. Я использовал подобную технику, чтобы сделать редактор для моей игры. К сожалению, интеграция непосредственно с WPF также была бы проблематичной (по тем же причинам вы не можете поместить элементы управления WPF в окно XNA GameWindows). Однако, вы могли бы встроить этот элемент управления в WindowsFormsHost, и это могло бы сработать (никогда не пробовал).

Очевидно, что это не сработает на Xbox 360, так как там нет WinForms и WPF, но обычно вы все равно не ставите свой редактор на 360.

ВСЕ: Надеюсь, Вы не используете сериализацию XML для загрузки игровых файлов во время выполнения - для этого и существует конвейер XNA Content Pipeline.

1
ответ дан 15 December 2019 в 06:26
поделиться

Проверьте эту тему на форумах XNA: http://forums.xna.com/forums/p/1122/6455.aspx

Это будет 1) дать представлению, почему эта интеграция Таким образом, проблемных и 2) покажет вам, как провести контроль XNA в форме WPF (ищите посты Zman). Что касается использования WPF внутри XNA для рендеринга GUI, я бы не задержал дыхание. Для Microsoft действительно очень много причин выходить из своего способа поддержки этой поддержки, а консоль GUI испытывает Son, действительно выстраивается в том, что хорошо с API предназначен для точка и нажмите.

0
ответ дан 15 December 2019 в 06:26
поделиться

Пытались ли вы создать приложение WPF, а затем добавить в него ссылки на XNA?

Вы должны иметь возможность сделать это, а затем создать класс, унаследованный от GameObject, и поместить его в ваше приложение WPF.

WPF имеет прямой доступ ко многим DirectX, а также камерам и многим вещам, которые вам понадобятся, чтобы просто записать игру в WPF. Может быть, просто использовать XNA-методы для некоторых вычислений.

Я определенно вижу не один способ снять шкуру с этой кошки.

0
ответ дан 15 December 2019 в 06:26
поделиться
0
ответ дан 15 December 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: