我在带有AS3的Flash CS4中创建了一个AIR应用程序,该应用程序需要以全屏模式启动。我在全屏调用上略有延迟,以解决闪存不允许您在全屏启动应用程序的事实。这适用于Windows。但是,在Mac上,我的应用程序存在问题......
它使用此代码在启动时全屏显示:
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;
});
应用程序成功进入全屏模式,但使应用程序的窗口位于全屏视图前面。在按键上切换进出全屏可以解决问题。我认为做这样的事情:
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;
});
甚至延迟额外的StageDisplayState.NORMAL;
和`StageDisplayState.FULL_SCREEN_INTERACTIVE;每个100毫秒将模拟按键切换的效果,这为这个问题提供了一个功能性的,虽然很脏的解决方法。但是,这些东西不起作用。
有谁知道发生了什么事?
[编辑]
在全屏调用(5000毫秒)上放置一个荒谬的长时间延迟似乎可以解决问题。当我启动应用程序并立即开始粉碎空格键(我的全屏切换键)时,我意识到了这一点,它一直向我提出相同的问题,直到3或4秒后,此时全屏开始正常工作。
但是,如果有人对此有所了解......请分享。
答案 0 :(得分:2)
在全屏调用(5000毫秒)上放置一个荒谬的长时间延迟似乎可以解决问题。当我启动应用程序并立即开始捣碎空格键(我的全屏切换键)时,我意识到了这一点,它一直向我提出相同的问题,直到3或4秒后,此时全屏开始正常工作。
但是,如果有人对此有所了解......请分享。