Предыдущая Следующая
else if(levelState == true) {
spriteBatch.Begin(SpriteBlendMode.AlphaBlend); menu.DrawMenu(spriteBatch, 3);
spriteBatch.Draw(gameLevel, new Vector2(300, 220), Color.White); spriteBatch.End();
int f = 32 0;
if (tempLevel == 8)
{
font.DrawString(44 0, f, Color.Black, "Вы победили!!!");
}
font.DrawString(420, f,
font.DrawString(420, f
font.DrawString(500, f
font.DrawString(430, f
font.DrawString(490, f
font.DrawString(440, f
font.DrawString(490, f
font.DrawString(415, f
font.DrawString(500, f
Color.Black, "Продолжение игры"); += font.LineHeight, "Вы прошли уровень"); += font.LineHeight, "{0}", tempLevel); += font.LineHeight + 35, "Набранные очки"); += font.LineHeight, "{0}", totalScore); += font.LineHeight, "Нужно очков"); += font.LineHeight , "{0}", endScore); += font.LineHeight, "Следующий уровень"); += font.LineHeight, "{0}", level);
}
Интересное нововведение происходит в строке:
menu.DrawMenu(spriteBatch, 3);
Ранее в классе Menu мы имели всего два состояния в методе Draw() этого класса. В первом и во втором состояниях на экран поверх основного фона меню
224 Добавляем в игру новые уровни
Проект NewLevels 225
выводились две таблички. Теперь в дополнительном третьем состоянии эти таблички не выводятся, а на фоне меню рисуется табличка для межуровневого состояния.
spriteBatch.Draw(gameLevel, new Vector2(300, 220), Color.White);
В идеале в игре вы можете создать базовую фоновую заставку и использовать ее на любом участке игровых состояний, определяя, что именно вы хотите видеть поверх этой заставки.
Оставшиеся строки исходного кода в этом блоке выводят на табличке различную текстовую информацию. Еще раз повторюсь, что шрифт используется по умолчанию, идущий с пакетом XNAExtras, но вы можете создать свой алфавит и значительно улучшить графику в игре. И не забывайте об очередности рисования на экране графики, все то, что вызывается в методе Draw() позже, соответственно и рисуется позже. В листинге 14.1 представлен полный исходный код класса Gamel. Файлы проекта NewLevels находятся на компакт-диске в папке Code\Chapter14\NewLevels.
//=========================================================================
/// <summary>
/// Листинг 14.1
/// Исходный код к книге:
/// "Программирование компьютерных игр под Windows в XNA Game Studio Express" Предыдущая Следующая
|