2012-02-27 94 views
1

我的游戏(兼容Mac OS X 10.5)需要在Cmd-Tab命令中切换(最小化)全屏模式的功能并在此时保持焦点,以便用户可以使用其他应用程序而我的游戏最小化(例如浏览器)。这个怎么做?Cmd-Tab上的Mac OS X Fullsreen开关

谢谢!

回答

0

感谢马蒂亚斯!我找到了解决方案,问题是我的全屏窗口是一个顶层窗口[fullscreenWindow setLevel:NSScreenSaverWindowLevel-1];所以它每次都捕获所有事件。我用这个方法来捕捉瞬间,当我的应用程序失去/获得焦点,和我隐藏/显示我的应用程序的所有窗口:

- (void)applicationWillBecomeActive:(NSNotification *)aNotification 
{ 
     [mApp unhide:self]; 
} 
- (void)applicationWillResignActive:(NSNotification *)aNotification 
{ 

    [mApp hide:self]; 

} 
- (void)applicationWillFinishLaunching:(NSNotification *)aNotification 
{ 
    mApp=[aNotification object]; 
} 
1

我不确定,你的问题是什么。如果你想知道,你是如何捕获TNE甚至,那么你可以使用

NSWindowWillExitFullScreenNotification 

NSWindowDidExitFullScreenNotification 

更多的信息,这很窗口协议,你可以在这里找到:https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSWindowDelegate_Protocol/Reference/Reference.html#//apple_ref/doc/uid/TP40008202

+0

它可以是有用的,但主要的问题是我的应用程序可以在全屏模式下不能释放焦点,所以用户无法切换到任何其他应用程序 – Aonir 2012-02-27 11:42:03

+0

我刚才看到,你谈到的是MacOSX 10.5。全屏模式在10.7中引入。 – Matthias 2012-02-27 11:54:30

+0

不,全屏模式本身工作正常,它只是在无边界窗口中的OpenGL全屏,尺寸与屏幕相同。 – Aonir 2012-02-27 12:01:48