Exemple #1
0
        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);
 }