Показать сообщение отдельно
Старый 17.11.2009, 16:18
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 17  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Ваша ситуация понятна...
Я еще упростил код, убрал onEnterFrame и ввел ваш триггер:
Код AS1/AS2:
function pauseFunc () { //функция паузы
	clearInterval (CHK);
	isPaused = true ; //тут ваш триггер устанавливается в true
}
 
function checkFocus () { //функция установки проверки
	isPaused =  false ;
	CHK = setInterval(setFocusOnNullObject, 10);
}
 
function  setFocusOnNullObject () { //принудительная установка фокуса на специальный объект вместо null
	if (!isPaused && Selection.getFocus() == null) {//если фокус переходит на null, переводим его один раз  на специальный объект
		Selection.setFocus(null_mc);
	}
}
 
null_mc.onKillFocus = pauseFunc; // при потере фокуса приостанавливают игру, достаточно объявить ОДИН раз
checkFocus (); //первоначальная установка проверки
Вам нужно записать этот код в первом кадре основного таймлайна.
А вот этот вызов
Код AS1/AS2:
checkFocus ();
дописать еще там, где у вас идет снятие с паузы для того, чтобы снова активировать перевод фокуса с null на объект null_mc и отслеживание потери фокуса.
И не забудьте про мувик null_mc, я забыл сказать, он должен на сцене быть как Button (как у меня в примере, можете прямо его скопировать).

Для начала хотя бы добейтесь постановки на паузу, снятие во вторую очередь.


Последний раз редактировалось mooncar; 17.11.2009 в 17:10.