问题描述
我有一个Screen
类,其中包含Monogame的SpriteBatch
。我想访问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);
}
.... and so on for every other override of SpriteBatch.Draw
}
但这显然很长,我宁愿不必手动键入每个替代。
有没有更简便的方法?
解决方法
让Screen类继承自SpriteBatch,在代码中如下所示:
Screen : SpriteBatch