Приставки
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
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

using Microsoft.Xna.Framework.Content;

using Microsoft.Xna.Framework.Graphics;

#endregion

namespace Menu {

class Menu

{

public Texture2D menuTexture; public Vector2 menuPosition;

public Texture2D cursorGame; public Vector2 cursorPositionGame;

public Texture2D cursorExit; public Vector2 cursorPositionExit;

/// <summary> /// Конструктор /// <summary> public Menu()

{

menuPosition = new Vector2(0, 0); cursorPositionGame = new Vector2(850, 380); cursorPositionExit = new Vector2(900, 500);

}

/// <summary>

/// Загрузка спрайтов

/// <summary>

public void Load(ContentManager content)

{

menuTexture = content.Load<Texture2D>(«Content\\Textures\\menu»); cursorGame = content.Load<Texture2D>(«Content\\Textures\\cursorGame»); cursorExit = content.Load<Texture2D>(«Content\\Textures\\cursorExit»);

}

/// <summary> /// Рисуем меню /// <summary>

public void DrawMenu(SpriteBatch spriteBatch, int state)

Проект Menu 219

{

spriteBatch.Draw(meriuTextuire, menuPosition, Color.White); switch(state)

{

case 1:

spriteBatch.Draw(cursorGame, cursorPositionGame, Color.Yellow); spriteBatch.Draw(cursorExit, cursorPositionExit, Color.White);

break; case 2:

spriteBatch.Draw(cursorGame, cursorPositionGame, Color.White); spriteBatch.Draw(cursorExit, cursorPositionExit, Color.Yellow);

break;

} }

С помощью класса Menu нам необходимо загрузить в игру общий фон меню, а также две дополнительные таблички, или доски, с командами Игра и Выход. Для этих целей нужно определить ряд объектов и переменных. Поэтому в начале исходного файла Menu.cs в области глобальных переменных следует шесть строк кода.

// Фон меню и его позиция на экране public Texture2D menuTexture; public Vector2 menuPosition;

// Доска с командой Игра и ее позиция на экране

public Texture2D cursorGame;

public Vector2 cursorPositionGame;

// Доска с командой Выход и ее позиция на экране

public Texture2D cursorExit;

public Vector2 cursorPositionExit;

Затем в конструкторе класса Menu мы задаем позиции на экране как для фона, так и для табличек. Поскольку фон меню идет с размером в 1280 х 720 пикселей (HD 720p), то в качестве точки отсчета для фона назначаются нулевые координаты по обеим осям системы.

menuPosition = new Vector2(0, 0);

Для дощечек с командами Игра и Выход позиции задаются в правой части экрана и чуть ближе к его нижней кромке. Эти значения были вычислены еще на этапе проектирования меню, но их всегда можно подкорректировать в исходном коде, если вам вдруг не понравилось их расположение.


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

Горяченькое

Друзья

Hosted by uCoz