Il n'y a absolument aucune raison pour laquelle vous ne pouvez pas utiliser MonoGame à partir de Visual Studio Code. Ce ne sera pas une configuration optimale car vous ne disposerez pas de débogage, et la configuration sera difficile, mais si cela vous convient, continuez.
Vous avez déjà noté que vous n'avez aucun problème à créer des applications de console exécutables. C'est tout ce que vous devez vraiment être capable de faire. La clé ici est que vous devez construire le ciblage .NET4 + ou Mono. Si vous avez suivi des didacticiels qui vous ont amené à créer des applications .NET Core, ils ne fonctionneront pas avec MonoGame (pour le moment). Si vous développez .NET Core, consacrez du temps à la création d'applications Desktop CLR à l'aide de MSBuild ou Mono. Si vous avez besoin de plus d'informations, je peux développer cela. Vous devez également être certain de savoir comment référencer d'autres assemblys .NET à partir de vos applications de console. S'il vous plaît faire des recherches sur la façon de le faire avant de passer à autre chose.
Pour Windows, vous avez la possibilité de cibler les versions DesktopGL (OpenGL) ou WindowsDX (DirectX) de MonoGame. Je suis moi-même partial envers les versions de DirectX. Vous aurez besoin de 2 choses pour démarrer: 1. les assemblages MonoGame, et 2. l'outil Pipeline MonoGame (ceci est utilisé pour compiler votre contenu dans des fichiers .XNB afin qu'ils puissent être importés dans votre jeu). Pour obtenir les assemblages et les outils de MonoGame, la solution la plus simple est d'installer Visual Studio Community Edition, puis de télécharger et d'installer MonoGame pour Visual Studio. Cela vous apportera tous les outils. Vous devez alors regarder "C: \ Program Files (x86) \ MonoGame \ v3.0 \ Assemblies" pour les assemblys appropriés et "C: \ Program Files (x86) \ MSBuild \ MonoGame \ v3.0 \ Outils "pour l'outil Pipeline MonoGame.
Si Visual Studio ne vous permet pas d'installer parce que vos machines ne répondent pas aux exigences, vous êtes et non. Les assemblages peuvent être entrés via Nuget. Téléchargez le dernier fichier nuget.exe ici: https://dist.nuget.org/index.html, puis exécutez: nuget.exe install MonoGame.Framework.WindowsDX
ou nuget.exe install MonoGame.Framework.DesktopGL
. Cela créera un répertoire contenant un dossier lib contenant un dossier net40 qui contient les fichiers .DLL dont vous avez besoin. Pour WindowsDX, je pense que vous aurez également besoin de l'exécution de DirectX https://www.microsoft.com/en-us/download/details.aspx?id=34429. Pour OpenGL, je pense que vous aurez besoin d'OpenAL (pour l'audio) https://www.openal.org/downloads/.
Une fois que vous avez les assemblages, vous devrez les référencer lorsque vous générez votre code. Comme vous l'avez dit, vous savez déjà comment créer et exécuter des applications de console. Faites simplement référence à tous les fichiers .DLL gérés que vous avez téléchargés avec Nuget ou extraits du dossier Assemblies à partir de l'installation.
Pour tester les choses, laissez tomber ce dans un fichier .cs, référencer les ensembles de monogame dans votre construction, construire comme vous le feriez une application console et exécuter:
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System;
public class Game1 : Game
{
GraphicsDeviceManager graphics;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
}
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
}
[STAThread]
static void Main()
{
using (var game = new Game1())
game.Run();
}
}
Vous devriez obtenir une fenêtre un fond bleu de bleuet. Si vous ne le faites pas, alors vous ne construisez pas ou ne faites pas de référence correctement, ou vous manquez une dépendance.
L'astuce consiste maintenant à mettre la main sur l'outil Pipeline et MGCB.exe. Si vous étiez en mesure d'installer MonoGame for Visual Studio, génial !, ces fichiers sont dans le dossier que je référence ci-dessus. Si ce n'est pas le cas, pour quelque raison que ce soit, le projet MonoGame ne distribue pas de version autonome de ces derniers, uniquement avec l'installateur. J'ai pris le contenu de ce dont vous avez besoin et l'ai plopé dans une version fictive sur GitHub ici: https://github.com/srakowski/derp/releases/tag/MG. Téléchargez le fichier Pipeline.zip, extrayez-le et vous devriez avoir ce dont vous avez besoin.
Créez un fichier Content.mgcb vide et ouvrez-le avec Pipeline.exe. Vous devriez être capable d'ajouter et de créer des fichiers de contenu. Vous devrez copier ces fichiers dans le même répertoire que votre fichier .exe. Généralement, ils sont placés dans un dossier Contenu et Content.RootDirectory = "Content";
est ajouté au constructeur du jeu. Une fois que tout cela fonctionne, vous devriez être libre et clair pour créer des jeux comme votre coeur le désire. S'il vous plaît laissez-moi savoir si vous avez des problèmes et nous allons arranger les choses.
Je suis confiant que c'est possible. Je vais essayer quand j'aurai un moment pour faire un rapport (à moins que quelqu'un d'autre ne réponde plus tôt). Vous avez juste besoin de récupérer les paquets de nuget appropriés, puis de brancher l'outil MGCP. –