Я розробляю платформу RPG для одного гравця в XNA 4.0. Я хотів би додати здатність, яка б змусила час "зупинятися" або сповільнюватись, і рухатись би лише персонажем гравця з початковою швидкістю (подібно до заклинання Time Stop з серії "Ворота Балдура"). Я не шукаю точної реалізації, скоріше деякі загальні ідеї та схеми дизайну.
EDIT: Дякую всім за чудовий вклад. Я придумав таке рішення
public void Update(GameTime gameTime)
{
GameTime newGameTime = new GameTime(gameTime.TotalGameTime,
new TimeSpan(gameTime.ElapsedGameTime.Ticks / DESIRED_TIME_MODIFIER));
gameTime = newGameTime;
або щось у цьому напрямку. Таким чином я можу встановити різний час для гравця, компонент, і різний для решти. Це, звичайно, не є універсальним для роботи в грі, де час викривлення був би центральним елементом, але я сподіваюся, що це має спрацювати в цій справі. Мені якось не подобається той факт, що він засмічує основний цикл оновлення, але це, звичайно, найпростіший спосіб його реалізації. Я думаю, що це так само, як запропонував тесселоде, тому я збираюся дати йому зелену галочку :)