我有一个 cocos2d-x 应用程序,主要在 iOS 上进行调试。现在我正在从事 OS X 方面的工作。
正如预期的那样,一切工作原理几乎相同,只是我的 iOS 应用程序中有一些手势命令无法转换为 OS X。
我想创建菜单项(OS X 级别)和关联的快捷方式来完成一些手势交互(至少作为一个选项)。
创建 MainMenu.xib 并将其链接到项目设置中似乎并不是全部。菜单仍然是通用的“AppName”和窗口菜单,而不是我在 xib 文件中创建的菜单。
我相信我需要以某种方式将它连接到 AppDelegate,但我不确定如何,而且我还没有成功找到这方面的文档,至少与它如何与 Cocos2d-x 相互作用有关.
最佳答案
本质上,您只需要在从 AppDelegate.cpp 或其他地方调用的 Objective-C++ 类中创建菜单即可。扩展名为 .mm
以调用 Objective-C 编译器/运行时。然后,您可以创建 NSMenu 并添加项目或替换整个菜单集[ServiceMenu/WindowMenu/MainMenu]
我发现唯一有趣的部分是从菜单中接收一个操作,我相信您还需要创建一个 Objective-C 类作为接收器(目标)。
您应该能够将 .xib 文件作为一个全新的菜单加载,以替换 GLFW3 创建的菜单,但我还没有研究过这一点。
更新:这是一个示例项目。
https://github.com/stevetranby/TestNSMenuCocos2Dx
更新:向项目添加了使用 .xib 加载菜单的示例
关于xcode - Cocos2d-x OS X 应用程序菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27909511/