Ist MonoGame wirklich plattformübergreifend?

8

Wenn ich MonoGame (das ich anstelle von XNA verwenden werde, seit ich auf einem Mac bin) herunterlade, haben alle MonoDevelop-Lösungsdateien den Namen MonoGame.Framework.[PLATFORM NAME].sln , wobei [PLATFORM NAME] der Name von ist das Betriebssystem. Und der Code in den Tutorials unterscheidet sich für jede Plattform. Daher scheint es so, als würde eine MonoGame-App auf einer andere Maschine, muss es portiert werden. Ist das richtig? Wenn ja, welche anderen Versionen von XNA gibt es für Mono, am liebsten die auf der Xbox 360? Ich habe MonoXNA gesehen, aber es scheint nicht reif genug zu sein, um von diesem Beitrag Gebrauch zu machen.

    
Jwosty 09.07.2012, 14:47
quelle

1 Antwort

14

MonoGame macht Ihren Code plattformübergreifend, indem Sie die XNA-API auf mehreren Plattformen bereitstellen. (Aber es macht Ihre kompilierte Binärdatei nicht plattformübergreifend wie etwa Flash oder Java).

MonoGame selbst ist nicht plattformübergreifend in dem Sinne, dass es für jede Plattform eine Version gibt - da jede Version eine große Menge plattformspezifischen Code enthält, der für die Implementierung der XNA-API erforderlich ist für diese Plattform.

(Obwohl in Wirklichkeit eine erhebliche Menge an MonoGame-Code plattformübergreifend ist und zwischen verschiedenen MonoGame-Versionen geteilt wird - weil er wiederum auf Ebenen wie Mono, OpenGL und OpenAL wie MonoGame basiert , stellen Sie eine konsistente API mit einer anderen zugrunde liegenden Implementierung auf der Plattform bereit.)

Dies ist genau das gleiche wie die offizielle XNA-Implementierung von Microsoft. Es gibt 3 verschiedene Versionen der XNA-Bibliothek (Windows, Xbox 360 und Windows Phone). Sie alle stellen die XNA API bereit. Und Ihr Code, der die XNA-API verwendet, kann für jede dieser Plattformen erstellt werden.

MonoXNA ist ziemlich veraltet, und der meiste nützliche Code hat es sowieso in MonoGame geschafft.

Soweit ich weiß, gibt es keine anderen aktuellen XNA-Implementierungen, die Mono für OSX verwenden. Es gibt ExEn , das Mono verwendet - aber nur für iOS und Android.

Ihre einzige Option für die Verwendung von XNA auf Xbox 360 ist die Verwendung der Microsoft-Version. Das hindert Sie jedoch nicht daran, auch Ihren Code gegen MonoGame zu kompilieren.

    
Andrew Russell 09.07.2012, 15:38
quelle

Tags und Links