2010-09-23 3 views
5

j'ai demandé ce sur les forums XNA mais je suppose que puisque la plupart des gens là-bas se spécialisent dans C# Je n'ai pas eu beaucoup d'aide avec ceProgrammation des jeux Xbox avec Scala

J'ai un code pour un jeu écrit en Scala. Je compile tout en Java Bytecode pour le moment mais le compilateur Scala a une version .Net. Dans cet esprit, et parce que la conception modulaire est une bonne pratique en général, j'ai écrit une interface graphique et maintenant j'utilise une classe OpenGLGraphics implémentant cette interface qui contient chaque ligne de code OpenGL dans mon programme. Dans mon monde parfait, je serais capable d'échanger ma classe OpenGLGraphics contre une classe XNAGraphics et d'exécuter mon jeu sur une Xbox sans autre portage, enfin, peut-être quelques modifications, mais j'imagine que ce n'est pas si simple.

J'ai fait quelques recherches sur Google et je n'ai pas réussi à trouver un exemple de personne qui essaie cela. J'ai une expérience avec la programmation XNA et le premier problème qui vient à l'esprit est qu'il n'y a pas de plugin scala pour Visual Studio et la programmation XNA semble très centrée sur Visual Studio, puis-je au moins obtenir Visual Studio pour compiler du code non C# dans un Projet XNA ou configurer un projet XNA et un pipeline de contenu sans Visual Studio?

+0

Je pense que Scala sur .NET actuellement ne fonctionne pas pleinement, Bien qu'il y ait du travail dans ce domaine. – ziggystar

Répondre

3

Vous pouvez configurer des événements arbitraires avant et après la construction dans l'EDI en créant un projet C#, en cliquant avec le bouton droit de la souris sur le projet pour ouvrir les pages de propriétés et en sélectionnant "Build Events". Il devrait y avoir une "ligne de commande d'événement de pré-construction" et une "ligne de commande d'événement de post-construction" où vous spécifiez des commandes arbitraires à exécuter dans le cadre de la construction. Cependant, une meilleure option serait de créer des fichiers de construction MSBuild à la main et d'utiliser la tâche Exec pour exécuter des commandes arbitraires.

Il y a une discussion sur l'intégration de Scala dans VS here qui traite également des tâches MSBuild personnalisées.

0

Tant que vous pouvez pointer le compilateur vers la version correcte des assemblys XNA, et qu'il produit un assembly CLR correct, alors votre meilleur pari serait de refactoriser tout votre code de jeu dans un fichier .dll/assembly. Ensuite, faites un projet XNA normal comme d'habitude, référez-vous à votre assemblage de scala, et référencez simplement le code de l'assemblage de scala pour lancer le jeu XNA.

pour être sûr, il faudra un certain refactoring, mais il semble que vous avez déjà fait la plupart des travaux en ayant un moteur de rendu Abstraite et tout ce qui

Questions connexes