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

Проект PauseGame 131

base.Update(gameTime);

}

/// <summary>

/// Движение спрайта по вертикали

/// <summary>

public void MoveSprite()

{

for (int i = 0; sprite.Length > i;

{

sprite[i].spritePosition += sprite[i].speedSprite;

if (sprite[i].spritePosition.Y > Window.ClientBounds.Height)

{

sprite[i].spritePosition = new Vector2(rand.Next(10, Window.ClientBounds.Width -

300 - sprite[i].spriteTexture.Width / 12), -500);

} } }

/// <summary>

/// Движение платформы по экрану

/// <summary>

public void MovePlatform()

{

if (keyboardState.IsKeyDown(Keys.Left))

platform.spritePosition.X -= 10; else if (keyboardState.IsKeyDown(Keys.Right))

platform.spritePosition.X += 10;

if (platform.spritePosition.X < 10)

platform.spritePosition.X = 10; else if (platform.spritePosition.X>Window.ClientBounds.Width - 400)

platform.spritePosition.X = Window.ClientBounds.Width - 400;

}

/// <summary>

/// Рисуем на экране

/// <summary>

protected override void Draw(GameTime gameTime)

{

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

spriteBatch.Draw(background1, new Vector2(0, 0), Color.White); for (int i = 0; sprite.Length > i;

{

sprite[i].DrawAnimationSprite(spriteBatch);

}

spriteBatch.Draw(background2, new Vector2(0, 0), Color.White); platform.DrawSprite(spriteBatch); // верхний слой над тросом

spriteBatch.End();

base.Draw(gameTime);

} }

}

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

9.2. Проект PauseGame

Вводим в проект PauseGame две новые булевы переменные, объявление которых происходит в области глобальных переменных, чтобы переменные были доступны на любом участке исходного кода класса Game1.

private bool paused = false; private bool pauseKeyDown = false;

Эти две переменные будут отражать соответственно состояние паузы в игровом процессе и состояние нажатия заданной клавиши. На каждой новой итерации игрового цикла (метод Update() ) мы будем опрашивать клавиатуру и узнавать, нажата определенная клавиша или нет. Для паузы избрана стандартная в этом случае клавиша с изображением английской буквы «P».


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

Горяченькое

Друзья

Hosted by uCoz