Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

Последние дополнения в исходном коде текущего проекта происходят в методе 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)


Предыдущая Следующая

Горяченькое

Друзья

Hosted by uCoz