首页 > 解决方案 > 访问包含在另一个类中的类中的方法,而不引用包含的类

问题描述

我有一个Screen包含SpriteBatch来自 Monogame 的类。我想访问该SpriteBatch.Draw()方法,而不必这样做Screen.spriteBatch.Draw(),而是:

screen.Draw(sprite, position, color);

我可以通过定义这样的方法来做到这一点:

class Screen
{
    public void Draw(Texture2D texture, Rectangle rect, Color color)
    {
        spriteBatch.Draw(texture, rect, color);
    }
    public void Draw(Texture2D texture, Vector2 position, Color color)
    {
        spriteBatch.Draw(texture, position, color);
    }

    .... and so on for every other override of SpriteBatch.Draw
}

但这显然很长​​,我宁愿不必手动输入每个覆盖。

有没有更简单的方法来做到这一点?

标签: c#classmonogame

解决方案


让 Screen 类继承自 SpriteBatch,代码如下:

Screen : SpriteBatch

推荐阅读