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

GraphicsDeviceManager graphics; ContentManager content;

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

int screenWidth, screenHeight;

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

graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1280; graphics.PreferredBackBufferHeight = 720; screenWidth = graphics.PreferredBackBufferWidth; screenHeight = graphics.PreferredBackBufferHeight;

}

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

protected override void Initialize()

{

base.Initialize();

}

/// <summary>

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

protected override void LoadGraphicsContent(bool loadAllContent)

{

if (loadAllContent)

{ }

}

/// <summary>

/// Освобождаем ресурсы

/// <summary>

protected override void UnloadGraphicsContent(bool unloadAllContent)

{

if (unloadAllContent == true)

{

content.Unload();

}

}

/// <summary>

/// Обновляем состояние игры /// <summary>

protected override void Update(GameTime gameTime)

{

switch (gameState)

{

case CurentGameState.SplashScreen:

{

break;

Улучшаем смену игровых состояний 283

}

case CurentGameState.MenuScreen:

{

break;

}

case CurentGameState.HelpScreen:

{

break;

}

case CurentGameState.AboutScreen:

{

break;

}

case CurentGameState.GameScreen:

{

if(GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit();

break;

}

case CurentGameState.GameOverScreen:

{

break;

}

case CurentGameState.VictoryScreen:

{

break;

}

}

base.Update(gameTime);

}

/// <summary>

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

/// <summary>

protected override void Draw(GameTime gameTime)

{

graphics.GraphicsDevice.Clear(new Color(159, 147, 207)); switch (gameState)

{

case CurentGameState.SplashScreen:

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

{

break;

}

case CurentGameState.MenuScreen:

{

break;

}

case CurentGameState.AboutScreen:

{

break;

}

case CurentGameState.GameScreen:

{

break;

}

case CurentGameState.GameOverScreen:

{

break;

}

case CurentGameState.VictoryScreen:

{

break;

}

}

base.Draw(gameTime);

} } }

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

Глава 17

Загружаем в игру модель

Если вы работаете сами на себя и не умеете создавать SD-модели в графических редакторах, то вопрос выбора и поиска модели будет для вас одним из главных. Для простых и, скажем так, домашних игр трехмерная графика может быть какой угодно, но для игр, которые делаются на продажу, качество SD-моделей - дело первостепенной важности.


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

Горяченькое

Друзья

Hosted by uCoz