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

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

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

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

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

/// <summary>

/// Листинг 9.2

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

/// «Программирование игр для приставки Xbox 360 в XNA Game Studio Express»

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

/// Глава 9

/// Проект: PauseGame

182 Работа с джойстиком

/// Класс: Gamel /// Пауза в игре /// <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 PauseGame {

public class Gamel : Microsoft.Xna.Framework.Game

{

GraphicsDeviceManager graphics; ContentManager content; SpriteBatch spriteBatch; Sprite[] sprite = new Sprite[5]; private Texture2D background; Random rand = new Random(); int screenWidth, screenHeight; int j = 0; Sprite platform; private bool paused = false; private bool pauseKeyDown = false;

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

{ }

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

protected override void Initialize()

{ }

/// <summary>

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

protected override void LoadGraphicsContent(bool loadAllContent)


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

Горяченькое

Друзья

Hosted by uCoz