我有一个WPF项目,我已经开始添加XNA了。主要原因是我们已经拥有一个可以运行迷你游戏的WPF应用程序。我试图找出是否有一种方法来编译着色器然后在不使用ContentManager的情况下将其加载到XNA效果中,或者是否有办法在运行时添加ContentManager对象并向其添加内容然后加载吗?
提前致谢
答案 0 :(得分:0)
我能够弄清楚如何做到这一点。我必须实现一个自定义内容构建器来将原始资产编译为xna格式并将它们存储到相应的项目中,然后使用内容管理器来加载/卸载资产。我使用这些网站作为参考,以及从WinForm XNA示例中获取一些代码
我必须做的唯一改变是将以下几行添加到GraphicDeviceControl.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游戏/应用程序的服务容器