Регистрация: Jun 2007
Адрес: Москва
Сообщений: 86
|
Поставить игру на паузу в любой момент.
Есть очень ёмкая игра. Внезапно требования к готовой игре изменились и нужно в любой момент поставить на паузу всё происходящее в геймплее. А в игру помимо этого включены 2 немаленькие мини-игры.
То есть нужно остановить всю динамику, все твины, таймауты, интервалы, задержки.
Запаузить все твины не проблема, так как пользуюсь Tweener-ом.
Но проблема с постановкой на паузу setTimeout и setInterval.
Думал, что проще всего заменить эти функции классом, делающим тоже самое, но использующем Timer. Но тут я обнаруживаю, что и Timer нельзя поставить на паузу, а потом возобновить! Как быть?
Нет, есть, конечно решение чтобы Timer считал каждую микросекунду на каждый setTimeout и setInterval, а потом после снятия с паузы пересчитывал количество оставшихся микросекунд до конца. Но это динамичная игра, и, боюсь, с её количествами интервалов и таймаутов проц этого не потянет. Или потянет если сделать один таймер, срабатывающий каждую микросекунду, а назначаемые по задержкам функции, будут плясать от этого одного таймера?
Кратко о реальной задаче: остановить выполнение всего когда в миг, отобразить окошко с предложением выйти или остаться в игре, и по результату обратно возобновить выполение кода.
Или же всё таки имеет смысл обойтись без игровой паузы, из-за сложности/невозможности ActionScript рационально запаузить таймеры?
|