Frage

Ich habe schon an einigen Stellen gelesen, dass es möglich ist, XNA und WPF zu kombinieren. Was ich persönlich braucht, ist ein Spiel / Map-Editor, der das Spiel eigentlich wäre selbst (im Hintergrund würde den Motor laufen hat), da Kartensystem Versionen von Objekten in XML serialisiert schreibt, die später geladen werden.

Mein Problem ist, dass ich einen Standard-App mag, dass der Motor im Hintergrund laufen würde und Spielanlagen erstellen, wie Benutzer sie vom Frontend erstellt und später serialize sie und in XML setzen.

Dies würde auch nützlich sein, wenn es möglich ist WPF von Spiel zu laufen, für UI, wenn jemand irgendwelche Erfahrungen mit diesen hätte, würde ich es begrüßen, wenn er / sie es teilen würde.

Kurz: Wie kann ich WPF (oder WinForms) App, die in einem laufenden XNA-Code hat es die Kontrolle, und im Hintergrund

?
War es hilfreich?

Lösung

Ich weiß nicht, von jemandem Einbettung WPF-Steuerelemente in ein XNA-Spiel-Fenster. Dies wäre eine sehr schwierige Sache sein, aufgrund der Tatsache, dass sie beide die Verwendung von DirectX für Rendering. Da Sie erlaubt sind zu tun alles mit XNA, wäre die WPF-Overlays machen und so weiter sehr schwierig. Wenn Sie im Spiel Kontrollen suchen, versuchen, Neoforce .

den anderen Weg zu gehen ist viel einfacher (sprich: tatsächlich unterstützt). Ich weiß, dass Sie ein XNA-Fenster in aa Windows-Benutzersteuerung einbetten können - finden Sie unter this für eine schnelle Demo. Ich habe eine Technik ähnlich dem verwendet, um einen Editor für mein Spiel zu machen. Leider würde (wegen der gleichen Gründe, die Sie nicht WPF-Steuerelemente in einem XNA GameWindow stellen kann) lästig als auch sein, direkt mit WPF zu integrieren. Sie könnten jedoch einzubetten, dass die Kontrolle auf eine WindowsFormsHost und dass könnte funktionieren gut (habe noch nie versucht).

Offensichtlich ist dies nicht funktionieren wird auf Xbox 360, da WinForms und WPF nicht verfügbar sind da, aber Sie in der Regel tun Editor nicht sowieso auf 360 setzen.

AUCH:. Ich hoffe, Sie verwenden XML-Serialisierung nicht Ihre Spieldateien zur Laufzeit zu laden - das ist es, was die XNA Content-Pipeline ist für

Andere Tipps

ich gepostet in eine andere Frage, aber es scheint eine Menge Fragen zu sein, wie ein XNA-ähnliche Steuerung in WPF zu integrieren. Ich lese Nick Gravelyn Blog und die Arcane.Xna Post, und schaffte es so etwas wie beide zu entwickeln, die völlig Microsoft.Xna.Framework.Game Parallelen während WPF-Kompatibilität bietet. Sie können sogar instantiate mehrere Spielklassen, wenn Sie es wünschen:

https://xnaml.codeplex.com/

Haben Sie versucht, eine WPF-Anwendung erstellen und dann das Hinzufügen der XNA Verweise darauf?

Sie sollten das tun können, und dann eine Klasse erstellen, erbt von Gameobject und setzen das in die WPF-Anwendung.

hat WPF direkten Zugriff auf eine Vielzahl von DirectX sowie Kameras und viele der Dinge, die man brauchen würde, um nur das Spiel in WPF zu schreiben. verwenden nur Methoden XNA für einige Ihrer Berechnungen Vielleicht.

Ich kann auf jeden Fall sieht mehr als eine Möglichkeit, diese Katze der Haut.

Überprüfen Sie diesen Thread ist auf der XNA-Foren aus: http: // Foren. xna.com/forums/p/1122/6455.aspx

Es wird 1) gibt Ihnen eine Vorstellung davon, warum diese Integration so mühsam ist und 2) zeigen, wie ein XNA-Steuerelement auf einer WPF Form Host (Look für ZMan Beiträge). Soweit für GUI-Rendering innerhalb von XNA WPF verwenden, würde ich nicht meinen Atem halten. Es ist wirklich sehr wenig Grund für Microsoft von seinem Weg zu gehen, dies zu unterstützen, und Konsole GUI Erfahrungen in einer Reihe aufstellen son't wirklich gut mit einer API für Punkt gemeint, und klicken Sie.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top