Gan*_*rit 6 c# xna exception spritebatch
所以我启动了我当前的项目,我做的第一件事是运行它,它给了我上面的例外.昨晚运行得很好.这是我的Draw事件中的所有代码.spriteBatch.Begin不会出现在项目的任何其他位置.在这里删除Begin会导致spriteBatch.Draw抛出异常,在begin之前放置spriteBatch.End也会引发异常.我不知道什么是错的,以及如何解决这个问题.
GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
spriteBatch.Draw(background, Vector2.Zero, Color.White);
player.Draw(spriteBatch);
level1.Draw(spriteBatch);
spriteBatch.End();
base.Draw(gameTime);
Run Code Online (Sandbox Code Playgroud)
好吧,我需要查看你的 levek1.Draw 和 player.Draw 以获取我的信息,但我期待这个。在其中一种方法中,您正在调用spriteBatch.Begin()
,您必须End()
在调用此方法之前调用。
所以如果你的玩家类绘制方法如下所示
Draw(Spritebatch spriteBatch)
{
spriteBatch.Begin();
spriteBatch.Draw(PlayerSprite,PlayerPosition, etc);
spriteBatch.End();
}
Run Code Online (Sandbox Code Playgroud)
您需要删除Begin
和End
调用,因为它们已被父方法调用。
编辑:没有读清楚,我看到你相信这不是问题,但我们需要看到其他方法来找出问题。