我正在开发 XNA 游戏。这是我对架构小心的时候了。直到今天,我一直都是这样实现自己的 draw 方法的:
public void Draw(SpriteBatch sb, GameTime gameTime)
{
sb.Begin();
// ... to draw ...
sb.End();
}
我正在挖掘 DrawableGameComponent 并看到 Draw 方法以这种方式出现:
public void Draw(GameTime gameTime)
{
// ...
}
首先,我知道 SpriteBatch 可以在 Begin 和 End 之间收集许多 Texture2D,以便对它们进行排序或使用相同的效果进行绘制。
我的问题是关于通过 SpriteBatch 的性能和成本。在 DrawableGameComponent 中,如果 spritebatch 是公共的,则可以调用游戏对象的 spritebatch。
建议什么,xna-game程序员应该做什么?
谢谢指教。