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

Если клавиша «P» нажата, то переменной paused присваивается значение true . В этом случае создается код на проверку условия, чему именно равна переменная paused, и если ее значение равно true, то, значит, выполнение игрового цикла пропускается, если false, то игра продолжает свою работу (рис. 9.2). Посмотрите на исходный код класса Game1 проекта PauseGame в листинге 9.2.

//=========================================================================

/// <summary>

/// Листинг 9.2

/// Исходный код к книге:

/// "Программирование компьютерных игр под Windows в XNA Game Studio Express"

/// Автор книги: Горнаков С. Г.

/// Глава 9

/// Проект: PauseGame

/// Класс: Game1

/// Реализуем в игре паузу

/// <summary>

//=========================================================================

#region Using Statements using System;

132 Устройства ввода

Проект PauseGame 133

Рис. 9.2. Схема работы паузы в игре

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 PauseGame

{

public class Gamel : Microsoft.Xna.Framework.Game

{

GraphicsDeviceManager graphics; ContentManager content; KeyboardState keyboardState; SpriteBatch spriteBatch; Sprite[] sprite = new Sprite[5]; private Texture2D backgroundl; private Texture2D background2; Random rand = new Random();

int j = 0;

Sprite platform;

private bool paused = false;

private bool pauseKeyDown = false;

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

{

graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1024; graphics.PreferredBackBufferHeight = 7 68; graphics.PreferMultiSampling = false; graphics.IsFullScreen = true; for (int i = 0; sprite.Length > i; {

sprite[i] = new Sprite(12, 10);

}

platform = new Sprite();

}

/// <summary> /// Инициализация /// <summary>

protected override void Initialize()

{ {

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

sprite[i].spritePosition = new Vector2(rand.Next(10, Window.ClientBounds.Width - 500), j = j - 300);

}

platform.spritePosition = new Vector2(Window.ClientBounds.Width / 2,

Window.ClientBounds.Height - 90);

base.Initialize();

}

/// <summary>

/// Загрузка компонентов игры /// <summary>


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

Горяченькое

Друзья

Hosted by uCoz