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

public Texture2D gl; public Texture2D g2;

public Texture2D[] hole = public Vector2[] position

new Texture2D[30]; = new Vector2[30];

Random rand = new Random();

new ModelClass[3];

private ModelClass[] ball static float aspectRatio; static float FOV = MathHelper.PiOver4; static float nearClip = 1.0f; static float farClip = 1000.0f; float angle;

Matrix view;

В метод DrawScreen() добавляется еще один новый параметр state. На базе переданного значения этого параметра в методе DrawScreen() посредством оператора switch мы будем выбирать, в каком месте рисовать желтую подложку для меню.

/// <summary>

/// Рисуем заставку

/// <summary>

public void DrawScreen(SpriteBatch spriteBatch, GraphicsDeviceManager graphics, int x, int y, GameTime gameTime, int state)

{

graphics.GraphicsDevice.Clear(Color.DarkGreen); spriteBatch.Begin(SpriteBlendMode.AlphaBlend);

346 Последние штрихи

Смена игровых состояний в классе Game1

347

spriteBatch.Draw(title, new Vector2(x / 2 - title.Width / 2, 30), Color.White);

spriteBatch.Draw(enter, new Vector2(x / 2 - enter.Width / 2, y - 30-enter.Height), Color.White);

Выбираем для девушек позиции на экране монитора. Первая девушка рисуется с левой стороны дисплея, а вторая - с правой. Очень важно не задавать жесткие числовые значения для всех элементов меню, поскольку разрешение экранов у разных пользователей будет, естественно, разным. Всегда пользуйтесь для своих вычислений точкой в центре экрана, углами и четырьмя сторонами монитора. В этом случае компоновка графики в игре будет одинаково выглядеть на всех мониторах.

spriteBatch.Draw(g1, new Vector2(0, y / 2 - gl.Height/2), Color.White); spriteBatch.Draw(g2, new Vector2(x - g2.Width, y / 2 —g2.Height/2), Color.White);

В меню имеются пять команд, соответственно у нас есть пять состояний, или пять вариантов выбора позиций для подложки меню. В классе Gamel с помощью клавиатуры и клавиш «вверх» и «вниз» в игре мы будем переходить по командам меню, а значит, выбирать одну из команд. Каждой команде меню сверху вниз назначена своя цифра, поэтому выбор одной из команд меню будет соответствовать порядковому числовому значению.

Метод DrawScreen() вызывается на каждой итерации игрового цикла, и состояние переменной state будет всегда «свежим». А уже на базе полученного значения оператор switch выберет, какой из блоков исходного кода должен работать в данный момент и в точности в каком месте дисплея должна рисоваться желтая подложка меню.


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

Горяченькое

Друзья

Hosted by uCoz