Показать сообщение отдельно
Старый 18.10.2014, 02:30
djken вне форума Посмотреть профиль Отправить личное сообщение для djken Посетить домашнюю страницу djken Найти все сообщения от djken
  № 1  
Ответить с цитированием
djken
 
Аватар для djken

Регистрация: May 2010
Адрес: Краснодар
Сообщений: 182
Отправить сообщение для djken с помощью ICQ Отправить сообщение для djken с помощью Skype™
Question FullScreen и ESCAPE

Привет всем. Пишу десктопное приложение.
В приложении нужно реализовать кнопку FullScreen. У кнопки есть два состояния - перейти в полноэкранный режим и перейти в нормальный. Тут все просто, все работает:

Код AS3:
btnFullScreen.addEventListener(MouseEvent.CLICK, btnFullScreenHandler);
 
private function btnFullScreenHandler(e:MouseEvent):void {
	if (stage.displayState == StageDisplayState.FULL_SCREEN){
		stage.displayState = StageDisplayState.NORMAL;
		btnFullScreen.mc.gotoAndStop("s2");
	} else {
		stage.displayState = StageDisplayState.FULL_SCREEN;
		btnFullScreen.mc.gotoAndStop("s1");
	}
 
}
Но есть проблема - по умолчанию из полноэкранного режима можно выходить по нажатию на клавишу "Esc", либо переключать состояния комбинацией "Ctrl + F". Как в данной ситуации менять состояние кнопки FullScreen?

Технически понятно - нужно отлавливать события клавиатуры. Но не всегда срабатывает - через раз. В чем ошибка? Либо есть другие варианты реализовать полноценную кнопку FullScreen?

Код AS3:
addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
 
private function keyDownHandler(e:KeyboardEvent):void {
	if (e.keyCode == Keyboard.ESCAPE){
		if (stage.displayState == StageDisplayState.FULL_SCREEN){
			btnFullScreen.mc.gotoAndStop("s2");
		}
	};
}
__________________
кто не отвечает, того garbage collector забирает