FAQ/Entwicklung/XNA

Aus Das Sopra Wiki
Wechseln zu: Navigation, Suche
Woher bekomme ich das XNA-Framework?

Auf unserer Downloads-Seite findet sich ein Link.

zum Anfang

Wo findet man gute Informationen zum Einstieg in das XNA-Framework?

Die Homepage des XNA Creators Clubs bietet viele Informationen zum Einstieg in XNA und verfügt zudem auch über einen sehr umfangreichen Education Catalog mit vielen Beispielen zu spezielleren Themen, inklusive vollständig verfügbarem Sourcecode und Dokumentation. Eine weitere gute Quelle zum Einstieg stellt die MSDN Seite zu XNA dar. Es gibt im Internet aber auch jede Menge weitere Tutorials und Samples für XNA, ein Blick in die bevorzugte Suchmaschine lohnt sich hier auf jeden Fall!

zum Anfang

Ich habe ein Spiel fertiggestellt und will es z.B. mit Freunden teilen, aber wie kann ich es vernünftig in einen Installer packen so dass das Spiel auf jedem PC läuft?

Um ein Spiel welches mit dem XNA-Framework erstellt wurde ausführen zu können, muss auf dem PC eine Reihe von Dingen korrekt installiert sein. Wenn man sein Spiel veröffentlicht will man keinem potentiellen Spieler zumuten sich selbst um alle Prerequisites kümmern zu müssen. Neben der korrekten Version der XNA Runtime müssen für ein XNA Spiel auch die richtigen DirectX und .NET Versionen installiert sein. Glücklicherweise gibt es inzwischen diverse Projekte die sich damit befassen einen leicht konfigurierbaren Installer für XNA Spiele zur Verfügung zu stellen. Ein vielversprechendes Open-Source Projekt auf Basis von Microsofts .msi Packages ist der WiX XNA Installer.

zum Anfang

Wenn ich mein Spiel starten will, erhalte ich die Fehlermeldung "No suitable graphics card found."
XNA Fehlermeldung zur nicht ausreichenden Grafik-Hardware.
Dieses Problem liegt daran, dass die Grafikkarte nicht dazu in der Lage ist, die von XNA geforderten Leistungen zu bringen. Leider kann man keine universelle Lösung für dieses Problem angeben. Falls die Fehlermeldung jedoch so aussieht, wie auf der rechten Seite und der PC normalerweise 3D-Spiele anzeigen kann, ist es eventuell möglich, dieses Problem zu beheben. Dazu muss das Projekt auf das Reach-Profil umgestellt werden. Löst diese Einstellung das Problem nicht, ist die Hardware vermutlich leider nicht ausreichend für XNA. Kontaktieren Sie in diesem Fall Ihren Tutor.

zum Anfang

Meine Modelle werden gar nicht oder fehlerhaft angezeigt. (Eventuell war vor kurzem noch alles normal.)

Vermutlich werden 2D Draw-Calls über die Spritebatch vorgenommen, z.B. zum Anzeigen von HUD-Elementen oder Debug Informationen (eventuell erst seit kurzem eingebaut und seitdem ist die Darstellung der Modelle fehlerhaft). Beim Zeichnen von 2D-Elementen über die Spritebatch werden automatisch bestimmte Renderstates der Grafikkarte fürs 2D-Zeichnen gesetzt, daher werden die 3D Sachen jetzt nichtmehr korrekt gezeichnet. Mehr Infos und eine Lösung für das Problem findet man auf Shawn Hargreaves Blog: SpriteBatch and renderstates in XNA Game Studio 4.0. Dort findet man auch generelle Informationen zu State objects in XNA Game Studio 4.0 und deren Verwendung.

zum Anfang

Was muss ich beachten, um transparente 3D Objekte zu zeichnen?

Am besten den Artikel Depth sorting alpha blended objects als Einstieg lesen. Gerade bei Vegetation empfiehlt sich auch zusätzlich der Artikel Antialiasing alpha cutouts. Bitte beachtet, das seit XNA 4.0 Alpha Testing nicht mehr Teil des XNA RenderStates ist. Daher muss die Shader-Variante verwendet werden.

zum Anfang

Sobald ich Sound abspielen will, startet meine XNA-Anwendung nicht mehr. Der Fehler ist XnaMediaHelper_1.dll not found.

Bisher haben wir dieses Problem nur unter Windows XP beobachten können.

Folgendes können die Ursachen für das Problem sein:

  • Profil-Ordner (Default: C:\Dokumente und Einstellungen) enthält Sonderzeichen (weil zb mit der Software nLite vor der Installation von XP geändert)
  • Die Microsoft .NET Framework Dateien wurden vor der Installation mittels nLite entfernt. Obwohl .NET 3.5 SP1 laut Microsoft .NET inkrementell bis v 3.5 zur Verfügung stellt, führt das Entfernen der Dateien zu diesem Fehler.
  • Windows Media Player 9 (Oberfläche) wurde mittels nLite entfernt. Auch wenn der Media-Player-Core beibehalten wurde, und man nur dieses hässliche Frontend gelöscht hat, scheinen danach einige Codecs zu fehlen.

Lösung:

  • Um die Ursachen 1+2 zu beheben ist eine Neuinstallation von Windows XP notwendig. Diesmal sollte die Komponente .NET beibehalten werden, und in der Seite Optionen ein Profilpfad ohne nicht-ASCII Sonderzeichen gewählt werden.
  • Um Ursache 3 zu beheben sind folgende Schritte nötig:
    • Download der folgenden Dateien (Zum Download dieser Pakete sind mehrere WGA-Verifikationen notwendig! Wer wie ich ein nicht-deutsches Windows einsetzt, sollte beim Download auf die Sprachversionen für die WM9-Codecs und den Media-Player achten, andernfalls schlägt die Installation fehl oder schlimmere Dinge passieren):
    • Pakete in der Downloadreihenfolge installieren (wenn eine andere Reihenfolge verwendet wird, funktioniert das Playback und der Start von XNA-Applikationen nicht).

Beitrag von Outer Ring (Original). Vielen Dank!

zum Anfang