2013-01-21 5 views

Antwort

13

Ich habe eine ganze Menge Forschung auf der „Games in C#“ getan, so dass ich dachte, dass ich es für andere schreiben würde:

XNA eine einfache Möglichkeit, ein C# Spiel zu machen. Sie können ein neues XNA-Spiel im Windows Store posten und es wird gut funktionieren.

Sie können jedoch kein Windows Phone 8 oder Windows 8 Spiel mit XNA erstellen. (Sie können nur Version 7.1 von Windows Phone als Ziel verwenden.) Die neuen APIs für diese Betriebssysteme werden in XNA nicht unterstützt.

Windows Phone 8 und Windows 8 werden jedoch XNA-Anwendungen ausführen. Diese Apps können nicht auf bestimmte Funktionen für Windows 8 oder Windows 8 Phone ausgerichtet werden.

Also, um zusammenzufassen. Die aktuelle Version von XNA (4.0) unterstützt die ältere API, um mit Windows und Windows Phone zu kommunizieren. Sie können immer noch unter Windows 8 laufen, aber Sie können die neueren Sachen nicht benutzen.

Microsoft bietet kein Angebot zum Erstellen von Spielen in C# für die neuen Windows 8- und Windows Phone 8-APIs an.

Wenn Sie jedoch nicht dagegen, Open-Source-Projekte mit gibt es einige Dinge, die Sie tun können, ein Spiel in C# zu schreiben, die den neueren Windows 8 und Windows Phone 8-API verwenden können:

monogame

Wenn Sie XNAs API verwenden möchten, um Spiele für die neuen Windows 8 APIs zu erstellen, können Sie MonoGame verwenden (das ist, was ich verwende). Es ist eine Open-Source-API, die die XNA-API implementiert, aber Plugins für IOS, Android und Windows 8 hat. Dies ist eine wirklich gute Cross-Plattform-Option. 3D-Grafiken wurden kürzlich von MonoGame unterstützt (d. H. Infinite Flight, Armed). (Anmerkung:. Ich bin nicht mit monogame in irgendeiner Weise verbunden)

SHARP DX (DirectX)

Wenn Sie eine Microsoft unterstützte Art und Weise wollen ein Spiel machen, das den Windows 8-API Ihre beste Wette Ziele ist DirectX. Aber Direct X ist eine C++ API. Es ist auch wirklich sehr schwer.

Wenn Sie ein 2D-Spiel erstellen möchten (wie Pflanzen gegen Zombies oder Angry Birds), dann ist Direct X übertrieben. Es ist viel besser, die MonoGame-Route zu gehen. Ich verbrachte mehrere Tage damit, Tutorials zu durchforsten und hart daran zu arbeiten, Direct X zu verstehen. Am Ende dieser Zeit wurde ich mit der Fähigkeit belohnt, ein einzelnes Dreieck auf dem Bildschirm zu zeichnen. (Die gleiche Menge an Zeit hatte meine Spielschleife und Sprites bewegt sich in MonoGame.)

Also ich wiederhole, wenn Sie DirectX noch nicht kennen und Sie eine 2D-App machen, gehen Sie nicht die DirectX/Straße SharpDX.

Die DirectX-2D-Route wird außerdem dadurch behindert, dass Windows Phone 8 Direct2D nicht unterstützt. DirectX hat eine Untermenge namens Direct2D für das 2D-Rendering. Diese Teilmenge wird jedoch nicht von Windows Phone 8 unterstützt. Der "Ersatz" (vorerst) ist das Direct X-Toolkit.

Wenn Sie immer noch mit der Direct X-Straße unterwegs sind, können Sie sie mit SharpDX in C# schreiben. Es ist ein C# -Wrapper für DirectX, der sehr gut funktioniert (obwohl ich nicht weiß, ob es das Direct X Toolkit unterstützt).


ZUSAMMENFASSUNG

Die kurze es (für mich) ist, dass Microsoft nicht ihre APIs für C# Entwicklung von Spielen aktualisieren die neuen Sachen in Windows 8 und Windows Phone 8. Aber monogame lässt zu unterstützen Sie verwenden die XNA-API, um genau das zu tun. Es erlaubt Ihnen auch, plattformübergreifende Spiele zu schreiben, also ist es sowieso besser. (Du bekommst Portierung zu IOS und Android für "Free".)

Mein Spiel ist in Monogame gut in Gang, ohne Probleme bisher!

+0

"Sie können jedoch kein Windows Phone 8 oder Windows 8 Spiel mit XNA erstellen. (Sie können nur Version 7.1 von Windows Phone.) Die neuen APIs für diese Betriebssysteme werden in XNA nicht unterstützt. Allerdings beide Windows Phone 8 und Windows 8 werden XNA-Apps ausführen, die mit den älteren APIs erstellt wurden. " ist verwirrend - könnten Sie erläutern und/oder Links bereitstellen, die dies näher erläutern? Für mich liest es sich wie "Windows 8/Phone8 XNA nicht ausführen, aber sie verwenden XNA mit der alten API" - Was ist das alte API? XNA 3.0? 4.0? Haben sie etwas Neueres als 4.0 veröffentlicht? – SpartanDonut

+0

@ToddersLegrande - Ich habe den Beitrag zur Klärung aktualisiert. XNA 4.0 ist jetzt "Alt". Dies liegt daran, dass es die API nicht unterstützt, um mit den aktuellen Betriebssystemen von Microsoft zu interagieren. XNA kann jedoch weiterhin ausgeführt werden, ohne die neueren Funktionen der neueren Betriebssysteme zu verwenden. – Vaccano

+1

Ich glaube nicht, dass Sie XNA-Anwendungen unter Windows RT ausführen können, es sei denn, Sie verwenden tatsächlich MonoGame anstelle von XNA. Eine andere Option könnte die Verwendung von Unity3D sein. –