2012-02-27 100 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