Пример #1
0
        public override void Draw(GameTime gameTime)
        {
            GraphicsDevice device         = ScreenManager.GraphicsDevice;
            SpriteBatch    spriteBatch    = ScreenManager.SpriteBatch;
            SpriteFont     font           = ScreenManager.SpriteFont;
            Texture2D      menuBackground = ScreenManager.Game.Content.Load <Texture2D>("Sprites/MenuBG");

            spriteBatch.Begin();
            spriteBatch.Draw(menuBackground, new Vector2(Game1.WIDTH / 2 - menuBackground.Width / 2, 0), Color.White);

            for (int i = 0; i < menuItems.Count; ++i)
            {
                MenuItem item = menuItems[i];
                item.Position = new Vector2(Game1.WIDTH / 2 - 50, 200 + 50 * i);
                bool isSelected = IsActive && (i == selected);
                item.Draw(this, isSelected, gameTime);
            }

            float transitionOffset = (float)Math.Pow(TransitionPosition, 2);

            // Draw the menu title centered on the screen
            Vector2 titlePosition = new Vector2(device.Viewport.Width / 2, 80);
            Vector2 titleOrigin   = font.MeasureString(menuTitle) / 2;
            Color   titleColor    = new Color(255, 255, 255) * TransitionAlpha;
            float   titleScale    = 1.25f;

            titlePosition.Y -= transitionOffset * 100;

            spriteBatch.DrawString(font, menuTitle, titlePosition, titleColor, 0,
                                   titleOrigin, titleScale, SpriteEffects.None, 0);
            spriteBatch.End();
        }