Предыдущая Следующая
//=========================================================================
/// <summary>
/// Листинг 22.3
/// Исходный код к книге:
/// "Программирование компьютерных игр под Windows в XNA Game Studio Express"
/// Автор книги: Горнаков С. Г.
/// Глава 22
/// Проект: Menu
/// Класс: MenuGame
344 Последние штрихи
Создаем меню игры 345
/// Меню
/// <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
{
class MenuGame
В отличие от заставок в меню игры мы загружаем меньшее по размеру футбольное поле, в котором команды меню вырезаны средствами Photoshop.
public Texture2D screen;
public Texture2D title;
Объект cursor представляет в меню желтую прямоугольную текстуру или подложку меню размером 220 х 40 пикселей. Именно это изображение мы будем передвигать под командами меню, создавая эффект закрашивания команды желтым цветом.
public Texture2D cursor;
public Texture2D enter;
Два объекта - g1 и g2 - представляют в игре изображение двух красивых нарисованных девушек, которые располагаются по бокам меню.
Matrix proj;
Matrix world;
Matrix rotationMatrixY;
Matrix rotationMatrixZ;
/// <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;
{
}
hole[i] = content.Load<Texture2D>("Content\\Textures\\hole");
for (int i = 0; position.Length > i;
{
position[i].X = rand.Next(2 0 0, x position[i].Y = rand.Next(10 0, y
}
for (int i = 0; ball.Length > i;
{
2 5 0); 60);
ball[i] = new ModelClass();
}
ball[0].Load(content, "Content\\Models\\Soccerball"); ball[0].position = new Vector3(-30, 40, -30); ball[1].Load(content, "Content\\Models\\SoccerballGreen"); ball[1].position = new Vector3(50, 30, -50); ball[2].Load(content, "Content\\Models\\SoccerballRed"); ball[2].position = new Vector3(-50, -3 0, 40); aspectRatio = (float)x / (float)y; Предыдущая Следующая
|