首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MonoGame Winforms -加载内容

MonoGame Winforms -加载内容
EN

Stack Overflow用户
提问于 2015-10-10 14:35:40
回答 1查看 428关注 0票数 1

我正在使用Windows为MonoGame创建一些工具。我正在使用您可以在Xbox论坛上找到的教程。我实现了Graphics设备,但不知道如何加载内容。有人能帮我吗?

我正在使用MonoGame 3.4和Visual 2015

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-16 14:23:00

要加载内容,您需要ContentManager。Monogame 3.4中的ContentManager构造函数接受一个IServiceProvider实例,并解析IGraphicsDeviceService以获取GraphicsDevice实例。

既然您已经实现了GraphicsDevice,那么您所需要做的就是实现IGraphicsDeviceServiceIServiceProvider

我将只实现ContentManager工作所必需的东西。

首先实现IGraphicsDeviceService以返回GraphicsDevice

代码语言:javascript
复制
public class DeviceManager : IGraphicsDeviceService
{
    public DeviceManager(GraphicsDevice device)
    {
        GraphicsDevice = device;
    }
    public GraphicsDevice GraphicsDevice
    {
        get;
    }
    public event EventHandler<EventArgs> DeviceCreated;
    public event EventHandler<EventArgs> DeviceDisposing;
    public event EventHandler<EventArgs> DeviceReset;
    public event EventHandler<EventArgs> DeviceResetting;
}

然后实现IServiceProvider以返回IGraphicsDeviceService

代码语言:javascript
复制
public class ServiceProvider : IServiceProvider
{
    private readonly IGraphicsDeviceService deviceService;

    public ServiceProvider(IGraphicsDeviceService deviceService)
    {
        this.deviceService = deviceService;
    }

    public object GetService(Type serviceType)
    {
        return deviceService;
    }
}

最后,您可以初始化ContentManager的一个新实例。

代码语言:javascript
复制
 var content = new ContentManager(
                  new ServiceProvider(
                       new DeviceManager(graphicsDevice)));

不要忘记添加对Microsoft.Xna.Framework.Content的引用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33055136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档