Как в игре создается несколько просмотров страниц?

Многие игровые примеры / учебные пособия сосредоточены только на рендеринге основной игры и не показывают остальную часть игры, такую ​​как первая целевая страница, заставка, страница рекордов, страница кредитов и так далее.

Для чего-то вроде DirectX и XNA, как создаются / отображаются эти другие экраны?

3

Решение

В качестве альтернативы примеру Microsoft, упомянутому Davidsbro, если вы хотите создать свою собственную базовую систему управления игровым состоянием, вы можете сделать это с помощью переключателя enum. Для этого подхода вы должны объявить тип enum и установить его значение по умолчанию, в этом случае значением по умолчанию может быть главное меню игры. В XNA это будет выглядеть примерно так:

enum GameScene { menu, game };
GameScene scene = GameScene.menu;

Внутри метода обновления игр вы должны реализовать оператор switch, который будет отвечать за обработку обоих перечисляемых состояний:

protected override void Update(GameTime gameTime)
{
switch (scene)
{
case GameScene.menu:
{
// Perform menu scene logic
break;
}
case GameScene.game:
{
// Perform game scene logic
break;
}
}

base.Update(gameTime);
}

Затем вам потребуется реализовать еще один переключатель в методе draw аналогично переключателю enum выше.

protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);

switch (scene)
{
case GameScene.menu:
{
// Draw menu scene
break;
}
case GameScene.game:
{
// Draw game scene
break;
}
}

base.Draw(gameTime);
}

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]