Предыдущая Следующая
Последние дополнения в исходном коде текущего проекта происходят в методе Draw(), который рисует всю игровую графику.
if (menuState == true) {
spriteBatch.Begin(SpriteBlendMode.AlphaBlend); menu.DrawMenu(spriteBatch, cursorState); spriteBatch.End();
}
Здесь мы также добавляем ветвление с конструкцией if/else, и если переменная menuState равна true, то отображаем меню, а если нет, то рисуем на экране игровую графику. Дополнительно в метод DrawMenu() передается значение переменной cursorState, на основе которой, как вы помните, происходит определение, какую из табличек в текущий момент необходимо затенять цветом.
Исходный код класса Gamel содержится в листинге 12.2, а полный код проекта располагается на компакт-диске в папке Code\Chapter12\Menu.
//=========================================================================
/// <summary>
/// Листинг 12.2
/// Исходный код к книге:
/// «Программирование игр для приставки Xbox 360 в XNA Game Studio Express»
/// Автор книги: Горнаков С. Г.
/// Глава 12
/// Проект: Menu
/// Класс: Gamel
/// Добавляем в игру меню
/// <summary>
//=========================================================================
#region Using Statements using System;
using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; #endregion
namespace Menu
{
Проект Menu 225
public class Gamel : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics; ContentManager content; SpriteBatch spriteBatch; Sprite[] sprite = new Sprite[5]; private Texture2D background;
Random rand = new Random(); int screenWidth, screenHeight; int j = 0; Sprite platform;
private bool paused = false;
private bool pauseButtonsStart = false;
public BoundingBox bbplatform;
public BoundingBox[] bb = new BoundingBox[5]; int score0, scorel, score2, score3, score4;
Menu menu;
private bool menuState; private int cursorState;
/// <summary> /// Конструктор /// <summary> public Game1()
{
menu = new Menu(); menuState = true; cursorState = 1;
}
/// <summary> /// Инициализация /// <summary
protected override void Initialize()
{ }
/// <summary>
/// Загрузка компонентов игры /// <summary>
protected override void LoadGraphicsContent(bool loadAllContent)
{
if (loadAllContent) Предыдущая Следующая
|