2016-12-17 4 views
0

J'utilise un carnet iball et je n'ai pas assez de mémoire pour installer Visual Studio. Je n'ai aucun problème en utilisant le code VS et je suis capable de créer et de créer des exécutables de mes applications console. J'ai besoin d'apprendre le développement de jeu mais tout le monde dit que j'ai besoin d'installer le studio visuel pour celaEst-il possible d'utiliser monogame dans le code VS?

Cependant j'ai trouvé un quatrem sur monogame sur le sujet et j'ai trouvé qu'il est possible (au moins sur Linux) d'utiliser Monogame dans Code VS

http://community.monogame.net/t/visual-studio-code-and-monogame/2371

S'il vous plaît Aidez-moi out.I voulez savoir s'il est vraiment possible de compiler et exécuter une application monogame dans les fenêtres.

+0

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. –

Répondre

0

J'ai essayé Monogame sur Visual Studio et possède un PC sous Windows. Je peux donc confirmer que Monogame fonctionne sur Windows. Pour répondre à ta question. Cependant, si vous voulez l'essayer sans Visual Studio, je ne pense pas que vous puissiez vraiment aller loin. car il existe plusieurs outils de construction nécessaires pour en faire un décent. Et vous ne pouvez pas le déboguer non plus. Vous travaillez vraiment limité si vous ne pouvez pas utiliser Visual Studio.

Essayez de nettoyer votre PC pour libérer de l'espace. Visual Studio serait vraiment un meilleur choix avec lequel travailler.

+0

Corrigez-moi si je me trompe, mais je crois que j'ai besoin de deux choses pour obtenir un exécutable en cours d'exécution d'une application monogame via VS code: La bibliothèque monogame et le compilateur pour (au moins) DirectX. Lequel de ces choses n'est pas possible dans le code vs? BTW Je vais bien avec le fait que je ne peux pas déboguer dans le code VS (pour l'instant ...). –

+0

Je suis désolé, mais je ne peux pas vraiment répondre à cette question car je n'ai pas travaillé en dehors de Visual Studio. – Steven

0

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.

+0

J'ai l'impression que cela fonctionnera. Il y a un petit problème maintenant. J'ai presque ajouté les assemblys de monogame mais quand j'essaye de les restaurer j'obtiens une erreur –

+0

Paquet MonoGame.Framework.WindowsDX 3.5.1.1679 n'est pas compatible avec netcoreapp1.0 (.NETCoreApp, Version = v1.0). Package MonoGame. Framework.WindowsDX 3.5.1.1679 prend en charge: net40 (.NETFramework, Version = v4.0) Un ou plusieurs packages sont incompatibles avec .NETCoreApp, Version = v1.0. –

+0

Que faire maintenant? –