Вопрос

Я пишу Flash-приложение (Flash Player 10, AS 3.0), поддерживающее полноэкранный режим.Я разобрался с этой частью(allowFullscreen=true, stage.displayState).

Я хотел бы дать пользователям возможность перемещаться по элементам и активировать их с помощью пробела (MouseEvent.CLICK ;-).Я знаю, что любые действия с клавиатуры блокируются в полноэкранном режиме. Эта страница Adobe devnet предполагает, что начиная с Flash Player 10 некоторые клавиши (табуляция, пробел, стрелки) разрешены в полноэкранном режиме.

Это проверяется в Chrome, Firefox, Opera, Safari...но не IE (по крайней мере, IE6).IE6 просто не обращает внимания на клавиатуру.Ничего не работает:табуляция, пробел...кроме Esc конечно ;-)

Я что-то пропустил?
Что может быть не так?
Может ли мое тестирование на локальном хосте повлиять на это?

Это было полезно?

Решение

это ошибка, исходящая из браузера...я видел несколько обсуждений по этому поводу, одно на flashhilfe.de (вероятно, вам это не поможет, ребята), где на какой-то странице был встроен тестовый свифф, и все попробовали...на моем компьютере даже фаерфокс и опера полностью провалились...

Боюсь, вы, вероятно, ничего не сможете с этим поделать...

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

приветствие

back2dos

Другие советы

Я искал это для видеоплеера, клавиши отлично работают для проигрывателя 10,1,53,64 (отладочный проигрыватель) в FF3.6.6, не могу заставить его работать в IE7, клавиша табуляции в этом не работает. или.

Если у вас есть KeyboardEvent на сцене и вы слушаете нажатия клавиш, вы увидите, что они срабатывают в полноэкранном режиме.

А MouseEvent.CLICK не срабатывает, когда вы нажимаете пробел, когда кнопка находится в фокусе, поэтому способ, которым я заставил кнопки срабатывать, заключался в том, чтобы вытащить на сцену слушателя KEY_DOWN и включить его. stage.focus и вызвать функцию.то есть

this.stage.addEventListener(KeyboardEvent.KEY_UP, _keyUp); 

private function _keyUp(e:KeyboardEvent):void 
{ 
   if(this.stage.displayState != StageDisplayState.FULL_SCREEN) return;
   switch(this.stage.focus) 
   { 
      case myButtonInstance: 
         //call function here 
      break; 
   } 
}

Надеюсь это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top