我沒有做太多與單噴氣但是當我提出一個新的單場比賽的項目,並添加一個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);
}
}
}
其立即呈現新運行時紋理。
這是因爲Windows版本的Content管道支持加載原始文件(png,jpg,.wav等)。然而,你並沒有構建內容,所以你沒有真正解決OP所面臨的問題。 – Falgantil
由於他使用WinForms,他依賴於windows anywas,不是嗎?所以如果他可能不需要.xnb爲什麼要轉換它們呢? – Bashn
如果您確實需要.xnb文件,請查看此項目http://sourceforge.net/projects/xnbbuilder/或自己查看MSBuild('IBuildEngine'('Microsoft.Build.Framework')和'Microsoft。 Build.Utilities.v4.0'以及'BuildContent'('Microsoft.Xna.Framework.Content.Pipeline'))。 **免責聲明:**仍然依靠windows和xna – Bashn