web-dev-qa-db-fra.com

MonoGame est-il juste XNA?

Je veux donc apprendre C # et XNA mais après quelques recherches, j'ai appris que XNA est apparemment mort, et il existe une autre bibliothèque appelée MonoGame qui utilise le framework XNA.

Alors, puis-je utiliser des leçons/tutoriels XNA pour MonoGame ou les différences majeures dans la façon dont la programmation est effectuée en fonction de ce que vous utilisez rendent les tutoriels XNA complètement inutiles pour MonoGame?

25
Matthew

Presque.

MonoGame ne tilise le framework XNA, c'est une ré-implémentation du framework XNA. La différence est que tout le code à l'intérieur de MonoGame a été réécrit pour se comporter de manière identique au framework XNA.

Vous vous demandez probablement pourquoi quelqu'un voudrait réimplémenter quelque chose qui existe déjà. Eh bien, vous avez raison de dire que XNA est "mort" pour ainsi dire. En fait, vous pouvez toujours utiliser le framework XNA si vous le souhaitez, mais il n'est plus pris en charge par Microsoft sur Windows 8 ou supérieur.

Cependant, ce n'est pas vraiment la principale raison pour laquelle MonoGame est né. La vraie raison est que XNA ne fonctionne que sur les plateformes Microsoft (par exemple Windows, XBox, Windows Phone). Le but de MonoGame est de permettre le portage facile du code XNA existant vers d'autres plateformes (par exemple iOS, Android, Mac OS X, Linux, Windows 8, Windows Phone 8, PlayStation Mobile et la console OUYA)

Oui, vous pouvez utiliser la plupart du temps des leçons/tutoriels XNA pour MonoGame. Le code et le comportement de MonoGame sont destinés à fonctionner exactement comme le framework XNA. Je dis intentionnel, car ce n'est pas parfait mais cela fonctionne très bien et il y a déjà beaucoup de jeux utilisant MonoGame pour le prouver.

34
craftworkgames

XNA peut toujours être utilisé sur Windows 8, bien qu'il ne soit pas pris en charge. Pour ce faire, vous devez d'abord installer un composant supplémentaire. Vous devez télécharger Windows Live Games redistribuable, puis XNA, et cela fonctionnera sur Windows 8.

8
willthiswork89