Предыдущая Следующая
{
this.Exit();
}
}
/// <summary>
/// Рисуем на экране
/// <summary>
protected override void Draw(GameTime gameTime) {
graphics.GraphicsDevice.Clear(Color.Black); // Меню
if (menuState == true)
{
spriteBatch.Begin(SpriteBlendMode.AlphaBlend); menu.DrawMenu(spriteBatch, cursorState); spriteBatch.End();
}
// Выбор игры
if (levelState == true)
{
spriteBatch.Begin(SpriteBlendMode.AlphaBlend); menu.DrawMenu(spriteBatch, 3);
spriteBatch.Draw(gameLevel, new Vector2(screenWidth/2 —
262 Добавляем в игру новые уровни
gameLevel.Width / 2, screenHeight / 2 — gameLevel.Height/2), Color.White); spriteBatch.End();
}
// Игра
if (gameState == true)
{
spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
spriteBatch.Draw(background, new Vector2(0, 0), Color.White); for (int i = 0; sprite.Length > i;
{
sprite[i].DrawAnimationSprite(spriteBatch);
}
platform.DrawSprite(spriteBatch);
spriteBatch.End();
if (paused == true)
{
spriteBatch.Begin(SpriteBlendMode.AlphaBlend); spriteBatch.Draw(pausedTexture,
new Vector2(screenWidth / 2 - pausedTexture.Width/2,
screenHeight / 2 — pausedTexture.Height / 2),Color.White); spriteBatch.End();
}
}
base.Draw(gameTime);
} } }
Часть III СОЗДАЕМ
ТРЕХМЕРНУЮ ИГРУ
Глава 15
Основы программирования трехмерной графики
В отличие от двухмерного программирования графики, работать с ЗЭ-графикой несколько сложнее. Для создания даже простых трехмерных программ вам понадобится значительно больше математических познаний, чем для работы со спрайтовой графикой. В связи с этим в этой главе я предлагаю рассмотреть основы программирования ЗЭ-графики, без знания которых у вас не получится создать ни одной дельной программы.
Прежде всего нам необходимо разобраться с тем, что на самом деле есть трехмерное пространство и каким образом в этом пространстве представляются ЗЭ-объекты. После этого мы обобщим все полученные знания и рассмотрим модель графического конвейера, используемого в ХгЧЛ, а уже со следующей главы приступим к разработке трехмерной игры. Итак, приступим к изучению ЗЭ-графики и начнем с понятия простой системы трехмерных координат.
15.1. Система трехмерных координат
Система координат, применяемая в ЗЭ-программировании, отличается от двухмерной системы координат, но практически идентична простой декартовой системе, за исключением некоторых нюансов. В этой системе координат начальная точка отсчета находится в левом нижнем углу экрана. Ось X проходит по нижней части телевизора слева направо, а ось У - снизу вверх. Дополнительно в трехмерном программировании добавляется новая ось Ъ, которая и позволяет работать с ЗЭ-объектами. Предыдущая Следующая
|