使用与开始时相同的参数重新启动SpriteBatch

本文关键字:参数 重新启动 SpriteBatch 开始时 | 更新日期: 2023-09-27 18:17:30

是否有可能在SpriteBatch中接收一个已经调用Begin()的传递,因为你想改变RenderTarget,所以调用End(),然后再次调用Begin() 与最初传入的相同参数?

使用与开始时相同的参数重新启动SpriteBatch

无法准确确定传入的参数以及调用了Begin()的哪个重载;但是可以重新创建由该调用创建的原始状态。

Begin()的参数,如BlendStateDepthStencilState等,实际上是在GraphicsDevice上设置的。因此,可以从SpriteBatch.GraphicsDevice读取(并保存)状态信息,并在下次调用Begin()

时重新创建状态信息。