2014-01-25 29 views
0

我有一個WPF項目,我已經開始爲它添加XNA。主要原因是我們已經有一個可以運行迷你遊戲的WPF應用程序。我想知道是否有一種方法來編譯着色器,然後在不使用ContentManager的情況下將它加載到XNA Effect中,或者有一種方法可以在運行時添加ContentManager對象並向其添加內容,然後加載它?XNA Load Shader不使用ContentManager

在此先感謝

回答

0

我能弄清楚如何做到這一點。我必須實現一個自定義內容構建器來將原始資產編譯爲xna格式,並將它們存儲到相應的項目中,然後使用內容管理器來加載/卸載資產。我使用這些網站作爲參考,以及得到一些代碼從WinForm的XNA例子

  1. XNA成瓦倫丁Billotte WPF(www.codeproject.com/Articles/38301/XNA-integration-inside-WPF )
  2. WinForm的例子主辦XNA(xbox.create.msdn.com/en-US/education/catalog/sample/winforms_series_1)
  3. 此博客的鏈接,以創建一個自定義內容生成器(xboxforums.create.msdn .com/forums/p/102128/606419.aspx)

我必須做的唯一改變是添加到GraphicDeviceC ontrol.cs以下行:

/// <summary> 
    /// Gets an IServiceProvider containing our IGraphicsDeviceService. 
    /// This can be used with components such as the ContentManager, 
    /// which use this service to look up the GraphicsDevice. 
    /// </summary> 
    public ServiceContainer Services 
    { 
     get { return services; } 
    } 

    ServiceContainer services = new ServiceContainer(); 

由於XNA需要什麼承載XNA遊戲/應用程序的服務容器