2011-12-17 2 views
1

J'ai créé une application AIR dans Flash CS4 avec AS3 et l'application doit démarrer en mode plein écran. J'ai mis un peu de retard sur l'appel en plein écran pour contourner le fait que le flash ne vous permettra pas de démarrer une application en plein écran. Cela fonctionne bien sur les fenêtres. Cependant, sur Mac, mon application a un problème ...Problème avec l'application Flash/AIR AS3 en mode plein écran au démarrage (sur MAC)

Il utilise ce code pour passer en plein écran au démarrage:

var fullscreen_delay:Timer=new Timer(10,1);// delay to bypass flash's non-fullscreen-on-startup feature 

fullscreen_delay.start(); 
fullscreen_delay.addEventListener(TimerEvent.TIMER_COMPLETE, function(){ 
    stage.displayState=StageDisplayState.FULL_SCREEN_INTERACTIVE; 
    fullscreen_delay.removeEventListener(TimerEvent.TIMER_COMPLETE,arguments.callee); 
    fullscreen_delay=null; 

}); 

L'application va avec succès plein écran, mais laisse la fenêtre pour l'application assis devant de la vue en plein écran. Basculer dans et hors du plein écran sur keypress résout le problème. Je pensais que faire quelque chose comme ceci:

var fullscreen_delay:Timer=new Timer(10,1);// delay to bypass flash's non-fullscreen-on-startup feature 

fullscreen_delay.start(); 
fullscreen_delay.addEventListener(TimerEvent.TIMER_COMPLETE, function(){ 
    stage.displayState=StageDisplayState.FULL_SCREEN_INTERACTIVE; 
    fullscreen_delay.removeEventListener(TimerEvent.TIMER_COMPLETE,arguments.callee); 
    fullscreen_delay=null; 
    stage.displayState=StageDisplayState.NORMAL; 
    stage.displayState=StageDisplayState.FULL_SCREEN_INTERACTIVE; 
}); 

Ou encore retarder le StageDisplayState.NORMAL; supplémentaire et `StageDisplayState.FULL_SCREEN_INTERACTIVE; par 100 millisecondes chacun simulerait l'effet de la bascule de la touche, et cela fournir une solution de contournement fonctionnelle, quoique sale, à ce problème. Cependant, ces choses ne fonctionnent pas.

Quelqu'un a-t-il une idée de ce qui se passe?

[EDIT]


Mettre un délai ridiculement longtemps sur l'appel plein écran (5000 millisecondes) semble faire l'affaire. Je me suis rendu compte quand j'ai lancé l'application et immédiatement commencé à écraser la barre d'espace (ma touche bascule plein écran), qui a continué à me présenter le même problème qu'après 3 ou 4 secondes, à quel point le plein écran a commencé à fonctionner correctement. Pourtant, si quelqu'un sait quelque chose à ce sujet ... s'il vous plaît partager.

Répondre

2

Un délai ridiculement long sur l'appel en plein écran (5000 millisecondes) semble faire l'affaire. Je me suis rendu compte quand j'ai lancé l'application et immédiatement commencé à écraser la barre d'espace (ma touche bascule plein écran), qui a continué à me présenter le même problème qu'après 3 ou 4 secondes, à quel point le plein écran a commencé à fonctionner correctement. Pourtant, si quelqu'un sait quelque chose à ce sujet ... s'il vous plaît partager.

+0

merci, j'ai eu le même problème. cependant les choses ont un peu changé depuis 2011 ...;) un intervalle de 10 ms était suffisant pour faire la magie du plein écran dans l'air 3.8 ... – zantafio