2016-01-20 1 views
0

Я создаю редактор, похожий на Unity. Я использую WinForms, и я вставляю окно MonoGame в форме, как показано на рисунке here. Все работает нормально, но теперь мне нужно добавить новый контент в проект, и мне нужно, чтобы это было сделано во время выполнения. Я рассмотрел пример this, но, во-первых, он использует здание содержимого xna, а во-вторых, когда я его запускаю и загружаю, я не могу найти файл xnb. Итак, что мне делать, чтобы строить с Monogame builder runtime и иметь xnb-файлы?Monogame builduing content runtime

ответ

0

Я не сделал много с моно струей, но когда я делаю новый проект моно игр и добавить ссылку на System.Windows.Forms, я могу сделать что-то вроде:

if(_currentKeyboardState.IsKeyDown(Keys.Space) && _previousKeyboardState.IsKeyUp(Keys.Space)) 
{ 
    using (var dialog = new System.Windows.Forms.OpenFileDialog()) 
    { 
     dialog.Filter = "PNG (*.png)|*.png"; 
     if(dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     { 
      var fileName = System.IO.Path.GetFileName(dialog.FileName); 
      System.IO.File.Copy(dialog.FileName, System.IO.Path.Combine("Content", fileName)); 
      _texture = this.Content.Load<Texture2D>(fileName); 
     } 
    } 
} 

которая мгновенно делает новую текстуры во время выполнения.

+0

Это потому, что версия конвейера контента Windows поддерживает загрузку необработанных файлов (png, jpg, .wav и т. Д.). Однако вы не создаете контент, поэтому вы не решаете проблему, которую имеет OP. – Falgantil

+0

Поскольку он использует WinForms, он зависит от окон, но не так ли? Так что, если ему может не понадобиться .xnb, зачем беспокоиться об их преобразовании? – Bashn

+1

Если вам действительно нужны файлы .xnb, взгляните на этот проект http://sourceforge.net/projects/xnbbuilder/ или взгляните на MSBuild самостоятельно ('IBuildEngine' (' Microsoft.Build.Framework') и 'Microsoft. Build.Utilities.v4.0', а также 'BuildContent' (' Microsoft.Xna.Framework.Content.Pipeline')). ** отказ от ответственности: ** все еще полагаясь на окна и xna – Bashn