Flash player 10 - modo de tela cheia e teclado
-
09-09-2019 - |
Pergunta
Eu estou escrevendo o Flash aplicativo (Flash Player 10, AS 3.0), que é tela cheia capaz. Eu tenho que parte ordenados (allowFullscreen=true
, stage.displayState
).
Gostaria de dar aos usuários a capacidade de guia através dos itens lá e ativá-los usando o espaço (MouseEvent.CLICK
;-). Eu sei que quaisquer ações do teclado são bloqueados no modo tela cheia. deste Adobe página DevNet sugere que a partir do Flash Player 10 alguns chaves (guia, espaço, setas) são permitidos em modo de tela cheia.
que verifica fora no Chrome, Firefox, Opera, Safari ... mas não IE (IE6 pelo menos). IE6 é simplesmente esquecido do teclado. obras nada: tabulação, espaço ... exceto para Esc claro; -)
Estou faltando alguma coisa?
O que pode estar errado?
Que a minha testes em localhost afetar isso?
Solução
que é uma bug, que vem do navegador ... eu vi várias discussões sobre o assunto, um em flashhilfe.de (provavelmente não vai ajudar vocês), onde havia uma swiff teste incorporado em alguma página , e todo mundo tentou ... no meu computador mesmo firefox e ópera falhou completamente ...
Eu tenho medo, você provavelmente não pode fazer nada sobre ...
apenas um pouco nota lateral, porém: do ponto de vista do usuário, é sempre o melhor, para fazer seus aplicativos dinamicamente escalável, para que o usuário decide qual o tamanho que prefere ... muitas pessoas estão perturbadas por aplicativos criando pop-ups ou redimensionar janelas do navegador ...
greetz
back2dos
Outras dicas
Eu tenho estado a olhar para este para um player de vídeo, as teclas funcionam bem para o jogador 10,1,53,64 (Debug jogador) em FF3.6.6, não posso fazê-lo funcionar no IE7, a tecla tab não vai trabalho nesta também.
Se você tem um KeyboardEvent no palco e ouvir as teclas pressionadas em seguida, você vai ver que eles disparar no modo tela cheia.
O MouseEvent.CLICK
não dispara quando você pressiona espaço quando um botão tem o foco de modo a maneira que eu tenho botões para o fogo era burro um ouvinte KEY_DOWN para o palco, fazer um interruptor na stage.focus
e chamar uma função. i.
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;
}
}
Espero que isso ajude.