Funktioniert ein XNA „XBox 360-Projekt“ auch unter Windows?

12

Ich verstehe, dass ein XNA-Projekt für XBox 360 eine spezielle Version von .NET Compact Framework verwendet. Aber lassen Sie uns sagen, dass ich für XBox 360 und Windows freigeben möchte.

Funktioniert die XBox-Version (mit kompaktem Framework) weiterhin, wenn sie für Windows vertrieben wird, oder muss ich eine Neuerstellung mit dem regulären Framework (oder der Nicht-Xbox CF) durchführen, um sie zu verteilen?

CodexArcanum
quelle

Antworten:

15

Ja, auf verschiedenen Plattformen werden unterschiedliche .net-Laufzeiten ausgeführt.

In xna 3 / 3.1 / 4 erstellen Sie Ihr Spielprojekt für eine einzelne Plattform (z. B. ein neues Windows Xna-Spielprojekt in Visual Studio). Klicken Sie in Visual Studios mit der rechten Maustaste auf das Projekt und wählen Sie "Kopie des Projekts für X erstellen". Dabei steht x für die Plattform, auf die das neue Projekt abzielen soll. Das ist so ziemlich alles, was dazu gehört. Kopie des Projekts erstellen

Diese beiden Projekte werden synchron gehalten. Alles, was Sie zu einem hinzufügen, wird im anderen angezeigt. Verwenden Sie die Blöcke #if WINDOWS oder #if XBOX oder #if WINDOWS_PHONE, um plattformspezifischen Code hinzuzufügen.

Cubed2D
quelle
Ahh, deshalb sind in den Beispielprojekten "Copy of X" enthalten. Ich nahm an, dass es sich nur um manuelle Kopien handelte, und mir war nicht klar, dass XNA + VS dies automatisierte. Sehr hilfreich! Und das Bild zeigt, wo die Option sehr schön ist. Klingt so, als ob es am besten wäre, mit einem XBox-Projekt zu beginnen und eine Windows-Kopie zu erstellen, wenn ich von Anfang an eine Veröffentlichung auf beiden vorhabe.
CodexArcanum
Persönliche IDs beginnen immer mit einem Windows-Projekt. Es ist einfacher, Windows zu debuggen, und Sie erhalten Tools wie perf hud und pix. Es spielt keine Rolle, in welche Richtung Sie es tun, aber auf diese Weise wird die Idee der c-Hauptentwicklungsplattform verfestigt, aber testen Sie früh und häufig auf 360.
Cubed2D
3

Sie müssen für Windows neu erstellen. Es gibt ein Tool zur Automatisierung des Konvertierungsprozesses für Visual Studio-Projekte. Seit du mit dem 360 und dem kompakten Framework angefangen hast solltest du weitgehend okay sein. Wenn Sie in die andere Richtung gehen, können Probleme auftreten, bei denen Sie .NET Framework-Funktionen verwenden, die vom kompakten Framework nicht unterstützt werden.

Die Dokumente enthalten einen Abschnitt zu den Unterschieden zwischen den beiden (z. B. können Sie die Prozessoraffinität unter Windows nicht festlegen). Wenn Sie Ihr Spiel tatsächlich auf dem PC veröffentlichen, können Kompatibilitätsprobleme auftreten. Beispielsweise wird Ihr Renderpufferformat möglicherweise nicht unterstützt oder Ihre Shader werden möglicherweise nicht kompiliert. Dies ist jedoch der Fluch der PC-Entwicklung und nicht spezifisch für XNA.

Chris Howe
quelle
Schön zu wissen, dass ich möglicherweise auch auf dem PC auf Shader- oder Pufferprobleme stoße. Ich nahm an, dass XNA die meisten dieser kleinen Details verbarg, aber ich schätze, dass einige immer noch durchschlüpfen.
CodexArcanum
Ja, die PC-Hardware ist sehr unterschiedlich. Aber ich habe festgestellt, dass die Xbox-Macken schwerer zu erklären sind als die Funktionen moderner Mainstream-Grafikhardware. Das ist ein lockerer Standard, ich weiß :)
Seth Battin