Предыдущая Следующая
Переходим к исходному коду класса MenuGame, который дан в листинге 21.3. По мере изучения программного кода будем комментировать заслуживающие внимания нововведения.
//=========================================================================
/// <summary>
/// Листинг 21.3
/// Исходный код к книге:
/// «Программирование игр для приставки Xbox 360 в XNA Game Studio Express»
/// Автор книги: Горнаков С. Г.
/// Глава 21
/// Класс: MenuGame
/// <summary>
//=========================================================================
Создаем меню игры 349
#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 {
class MenuGame
{
В отличие от заставок, в меню игры мы загружаем меньшее по размеру футбольное поле, в котором команды меню вырезаны средствами Photoshop.
public Texture2D screen;
public Texture2D title;
Объект cursor представляет в меню желтую прямоугольную текстуру или подложку меню размером 220 х 40 пикселей. Именно это изображение мы будем передвигать под командами меню, создавая эффект закрашивания команды желтым цветом.
public Texture2D cursor; public Texture2D enter;
Два объекта gl и g2 представляют в игре изображение двух нарисованных девушек, которые располагаются по бокам меню.
public Texture2D g1; public Texture2D g2;
public Texture2D[] hole = new Texture2D[30]; public Vector2[] position = new Vector2[30];
Random rand = new Random();
private ModelClass[] ball = new ModelClass[3];
static float aspectRatio;
static float FOV = MathHelper.PiOver4;
static float nearClip = 1.0f;
static float farClip = 1000.0f;
float angle;
Matrix view;
Matrix proj;
Matrix world;
Matrix rotationMatrixY;
Matrix rotationMatrixZ;
350 Последние штрихи
/// <summary>
/// Загрузка компонентов заставки /// <summary>
public void InitializeMenuGameScreen(ContentManager content, int x, int y)
{
screen = content.Load<Texture2D>(«Content\\Textures\\menu»); title = content.Load<Texture2D>(«Content\\Textures\\title»); enter = content.Load<Texture2D>(«Content\\Textures\\enter»); cursor = content.Load<Texture2D>(«Content\\Textures\\cursorMenu»); gl = content.Load<Texture2D>(«Content\\Textures\\g1»); g2 = content.Load<Texture2D>(«Content\\Textures\\g2»); for (int i = 0; hole.Length > i; Предыдущая Следующая
|