我的游戏(兼容Mac OS X 10.5)需要在Cmd-Tab命令中切换(最小化)全屏模式的功能并在此时保持焦点,以便用户可以使用其他应用程序而我的游戏最小化(例如浏览器)。这个怎么做?Cmd-Tab上的Mac OS X Fullsreen开关
谢谢!
我的游戏(兼容Mac OS X 10.5)需要在Cmd-Tab命令中切换(最小化)全屏模式的功能并在此时保持焦点,以便用户可以使用其他应用程序而我的游戏最小化(例如浏览器)。这个怎么做?Cmd-Tab上的Mac OS X Fullsreen开关
谢谢!
感谢马蒂亚斯!我找到了解决方案,问题是我的全屏窗口是一个顶层窗口[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];
}
我不确定,你的问题是什么。如果你想知道,你是如何捕获TNE甚至,那么你可以使用
NSWindowWillExitFullScreenNotification
或
NSWindowDidExitFullScreenNotification
更多的信息,这很窗口协议,你可以在这里找到:https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSWindowDelegate_Protocol/Reference/Reference.html#//apple_ref/doc/uid/TP40008202
它可以是有用的,但主要的问题是我的应用程序可以在全屏模式下不能释放焦点,所以用户无法切换到任何其他应用程序 – Aonir 2012-02-27 11:42:03
我刚才看到,你谈到的是MacOSX 10.5。全屏模式在10.7中引入。 – Matthias 2012-02-27 11:54:30
不,全屏模式本身工作正常,它只是在无边界窗口中的OpenGL全屏,尺寸与屏幕相同。 – Aonir 2012-02-27 12:01:48