2008-09-23 10 views
5

Ich arbeite an einem Gelegenheitsspiel auf XNA mit der Absicht, auf der Xbox 360 zu veröffentlichen. Ich werde keinen Zugriff auf Hardware für ein paar Wochen haben und ich habe eine enge Frist, also möchte ich um zu testen, dass ein paar Dinge - Boo und ein paar benutzerdefinierte Bibliotheken - auf dem 360 ordnungsgemäß funktionieren. Wenn sie das nicht tun, muss ich eher früher als später damit umgehen, also ist das Testen ziemlich wichtig.Gibt es eine Möglichkeit, zu überprüfen, dass Code auf dem 360 funktioniert, während XNA Dev arbeiten?

Mit diesem erklärt, gibt es eine Möglichkeit, ich kann in einen "Simulator" der Art, um Code auf dem .NET Compact Framework für 360 vor der tatsächlichen Bereitstellung auf die 360 ​​ausführen?

Antwort

4

Nun, Sie könnten versuchen, eine schnelle App für ein Windows Smartphone zu schreiben, und es in einem Emulator ausführen. Offensichtlich funktioniert das nicht für XNA-spezifischen Code; aber für alle Laufzeit-Bibliotheken, die Boo oder was auch immer Sie verwenden, arbeiten auf dem Emulator, sie sollten auf der Xbox arbeiten.

Für den XNA-Code, den Sie selbst schreiben, kompilieren Sie es nur gegen das Xbox 360-Ziel.

3

Wie TraumaPony sagte. Laden Sie einfach die Hauptspielassembly in Visual Studio und versuchen Sie es zu kompilieren. Es wird nicht, wenn Sie versuchen, einen Verweis auf eine Assembly außerhalb der denen, die mit dem 360 zu liefern.

1

Abgesehen davon sicherzustellen, dass die Bibliotheken auf der 360 kompilieren, müssen Sie über das Objekt Allokationsprofil Ihres Projekts denken . Da das kompakte Framework einen anderen Garbage Collector verwendet, ist es viel empfindlicher für konstante Zuweisungen. Wenn eine Sammlung erstellt wird, muss sie das gesamte Objektdiagramm durchlaufen, anstatt wie der Desktop-Kollektor Generationen verwendet. So werden Sie sicherstellen wollen, dass Sie neue sind während der Laufzeit so wenig Objekte wie möglich :-)

0

Der Schlüssel ist hier zu verstehen, dass nur .Net-Code auf der Xbox 360 ausgeführt wird, so Jede benutzerdefinierte Bibliothek, die Sie verwenden möchten muss eine .Net-Assembly sein. Die zweite Sache zu verstehen ist, dass die Xbox das kompakte Framework ausführt, also alles, was nicht darin enthalten ist, wird nicht funktionieren. Dies ist einfach genug, um zu testen, indem Sie das Projekt für die 360 ​​wie der oben genannte Beitrag zusammenstellen.

Um ehrlich zu sein, warf ich einen kurzen Blick auf Boo, und konnte nicht sagen, wo es gebaut wurde, also bin ich mir nicht sicher, ob es funktioniert. Ich verstehe auch nicht den Punkt der Verwendung von Boo in XNA, aber das ist nicht, was Sie wirklich fragen.