Flash / AS3 «Выключение» или «закрытие» события? - PullRequest
2 голосов
/ 25 августа 2010

Я делаю флэш-игру-головоломку.Когда пользователь загружает игру, он должен спросить, следует ли возобновить игру из последнего состояния (если оно существует).У меня есть система сериализации, но я должен убедиться, что загруженное состояние определенно является последним.

Одним из решений является сохранение состояния в SharedObject каждый раз, когда состояние изменяется (когда проигрывательделает ход).Тем не менее, состояние игры иногда включает в себя обратный отсчет, поэтому мне придется постоянно (или периодически) сохранять состояние, чтобы сохранить его.Я думаю, что это приемлемо, но это кажется клуджемым.

Есть ли какое-либо событие, которое запускается, когда SWF закрыт?Или у кого-то есть другое элегантное решение?

(я не использую AIR, но решения, требующие AIR, приветствуются.)

Редактировать: еще один важный момент - у меня может не быть контроляпо встраиванию HTML для игры, так как он может быть распространен на многие сайты.Так что решения с использованием JavaScript не идеальны.

Ответы [ 3 ]

2 голосов
/ 25 августа 2010

Если ваша Flash размещена на HTML-странице, вы можете использовать уведомление о событии «Окно закрывается» для отправки сообщения в ваш Flash-объект либо с использованием старых методов getVariable () или flashCall () нового стиля.

Сможете ли вы действительно сохранить состояние до того, как ваш объект Flash будет уничтожен, это другой вопрос ... вы всегда можете сделать (зло): «Вы уверены, что хотите закрыть / уйти из этого окна?'оповещение о том, что некоторые сайты используют.

Обработка событий DOM в Flex

События HTML 5

1 голос
/ 25 августа 2010

Событие при закрытии звучит как правильное решение, но мне интересно, не могли бы вы «разделить» вашу сериализацию?т.е. сохраняйте полное состояние головоломки при каждом движении, но также имейте вторичное «легкое» состояние для вашего обратного отсчета (или чего-либо подобного), которое может обновляться каждый раз при изменении обратного отсчета.

Это может быть проще, чем попытка перехватить событие закрытия и сохранить его перед уничтожением страницы (особенно если браузеры не совместимы в этой области).

0 голосов
/ 25 августа 2010
...