protected override void Draw(GameTime gameTime) { dPhase = DrawPhase.Trans; //draw translated stuff on the target Matrix translator = Matrix.CreateTranslation(translation.X, translation.Y, 0); GraphicsDevice.SetRenderTarget(rt); spriteBatch.Begin(transformMatrix: translator); switch (gm) { case (GameMode.TilesetEditor): { DrawEditor(); break; } case (GameMode.Game): { DrawGame(); break; } case (GameMode.Menus): { DrawMenus(); break; } } spriteBatch.End(); dPhase = DrawPhase.NonTrans; GraphicsDevice.SetRenderTarget(nonTransRt); GraphicsDevice.Clear(Color.TransparentBlack); spriteBatch.Begin(); switch (gm) { case (GameMode.TilesetEditor): { DrawEditor(); break; } case (GameMode.Game): { DrawGame(); break; } case (GameMode.Menus): { DrawMenus(); break; } } cursor.Draw(spriteBatch, mousePos); spriteBatch.End(); //draw overlay GraphicsDevice.SetRenderTarget(null); //draw the non translated target Matrix scaler = Matrix.CreateScale(scale.X, scale.Y, 0); spriteBatch.Begin(transformMatrix: scaler); spriteBatch.Draw(rt, rtPos, null); spriteBatch.Draw(nonTransRt, rtPos, null); spriteBatch.End(); base.Draw(gameTime); }
public void Draw(SpriteBatch sb_) { tex.Draw(sb_, pos); }