纹理未在可绘制组件内绘制

时间:2015-12-04 11:47:50

标签: c# .net xna xna-4.0 monogame

我试图将游戏的各个部分分成状态(场景),这样我就可以更轻松地管理它们。虽然一切都在更新循环中初始化和处理游戏逻辑方面有效,但我无法使用精灵批处理在绘制循环中绘制一些内容。

一些摘录:

场景

iOS9

TitleScene

public class Scene : DrawableGameComponent {

    private List<GameComponent> _children = new List<GameComponent>();

    public override void Draw(GameTime gameTime) {
        // invoke draw on all enabled & visible drawable children
    }

    public override void Update(GameTime gameTime) {
        // invoke update on all enabled children
    }

}

这里没什么好看的。绘制方法得到了相关的调整,但屏幕保持黑色!当我把所有绘图相关的内容(加载内容,开始/结束spritebatch)放入主游戏的draw方法(类型派生自public class TitleScene : Scene { private readonly SpriteBatch _spriteBatch; private Texture2D _titleBackground; public TitleScene(Game game) : base(game) { _spriteBatch = new SpriteBatch(game.GraphicsDevice); } public override void LoadContent() { _titleBackground = Game.Content.Load... } public override void Draw(GameTime gameTime) { _spriteBatch.Begin(); // draw _titleBackground _spriteBatch.End(); } )时,它会被渲染得很好。

游戏是否只​​允许有一个Game?或者我在这里遗漏了什么?

0 个答案:

没有答案