1. _level0 - это сама сцена. В принципе, можно события onEnterFrame вешать на любой мувик.
2. Это к делу не относится - сделано для блокировки активных элементов игры, которые могут находится под блокирующим меню, чтобы пользователь, когда игра на паузе, не нажал чего-нибудь. Ну и слушание клавиатуры надо удалять-ставить (removeListener - addListener).
3. Нет, нельзя, пишите в кадре. Вообще никогда не пишите код на мувиках.
4. Нормально код, без допила, будет работать только в примере, аналогичном моему - два кадра (начало и сама игра) - там же прописан, например, номер кадра (1) и функции стартуют именно в кадре 2.
Идея состоит в том что отслушать потерю фокуса средствами флешки мы можем не всегда - только когда фокус установлен на каком-то объекте (используя onKillFocus).
Когда фокус установлен на null, отследить в AS2 событие потери фокуса никак (по крайней мере мне это неизвестно). Поэтому я сделал перевод фокуса на специальный объект при попадании фокуса на null :

Код AS1/AS2:
function setFocusOnNullObject () { //принудительная установка фокуса на специальный объект вместо null
if (!focusOnNullSet && Selection.getFocus() == null) {//если фокус переходит на null, переводим его один раз на специальный объект
Selection.setFocus(null_mc);
focusOnNullSet = true ;
}
}
Эта функция вызывается постоянно, когда игра работает (т.е. не поставлена на паузу). Как только игра ставится на паузу, функция onEnterFrame удаляется.
И когда этот объект теряет фокус - в примере считается , что пользователь свернул страницу, ушел на другое приложение и т.д.
Добавлено через 12 минут
Если выкинуть все лишнее (оставив блокирующее меню), все сводится к этому:

Код AS1/AS2:
function pauseFunc () {
delete _level0.onEnterFrame ;
manageMenu ('on');
}
function startShowCount () {
_level0.onEnterFrame = setFocusOnNullObject;
}
function setFocusOnNullObject () { //принудительная установка фокуса на специальный объект вместо null
if (!focusOnNullSet && Selection.getFocus() == null) {//если фокус переходит на null, переводим его один раз на специальный объект
Selection.setFocus(null_mc);
focusOnNullSet = true ;
}
}
null_mc.onKillFocus = pauseFunc; // при потере фокуса приостанавливают игру
startShowCount(); //установка функции EnterFrame для _level0
////// БЛОКИРУЮЩЕЕ МЕНЮ ///////////////////////////////////////////
menu_mc.bg.onPress = function () {
//пустой обработчик. По идее, нужно еще отключать функции игры
}
menu_mc.bg.useHandCursor = false ;
menu_mc.contin_mc.onRelease = function () {
manageMenu ('off');
startShowCount ();
focusOnNullSet = false ;
}
menu_mc.exit_mc.onRelease = function () {
gotoAndStop(1);
focusOnNullSet = false ;
}
function manageMenu (dir:String) {
switch (dir) {
case 'on':
menu_mc._alpha = 100;
menu_mc._visible = true ;
break;
case 'off':
menu_mc._alpha = 0;
menu_mc._visible = false ;
break;
}
}
manageMenu ('off');
Смысл примера - показать идею. Доработать код под ваш случай в принципе можно, но вы должны сделать это сами, разобравшись в алгоритме.. ну либо выложите исходник, я посмотрю.
Добавлено через 42 минуты
Попробуйте допилить. Запишите все функции в первом кадре, а действия

Код AS1/AS2:
null_mc.onKillFocus = pauseFunc; // при потере фокуса приостанавливают игру
startShowCount(); //установка функции EnterFrame для _level0
- в кадре текущего уровня.
Мувик null_mc должен находится во всех кадрах уровней (уберите его за границы сцены).