Cocos2d-x OS X应用程序菜单

时间:2015-01-12 19:41:14

标签: xcode macos cocoa menu cocos2d-x

我有一个cocos2d-x应用程序,我一直在iOS上进行调试。现在我正在开发OS X方面。

正如预期的那样,除了我的iOS应用程序中的一些手势命令没有转换为OS X之外,一切都运行得非常相似。

我想创建菜单项(OS X级别)和相关的快捷方式来完成一些手势交互(至少作为一个选项)。

创建MainMenu.xib并在项目设置中链接它似乎不是全部。菜单仍然是通用的“AppName”和Window菜单,而不是我在xib文件中创建的菜单。

我相信我需要以某种方式将它连接到AppDelegate,但我不确定如何,并且我没有成功找到相应的文档,至少与它如何与Cocos2d-x相互作用有关

1 个答案:

答案 0 :(得分:3)

基本上你只需要在从AppDelegate.cpp或其他地方调用的Objective-C ++类中创建菜单。扩展名为.mm,以便调用objective-c编译器/运行时。然后,您可以创建NSMenu并添加项目或替换整个菜单集[ServiceMenu / WindowMenu / MainMenu]

NSMenu参考:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMenu_Class/index.html

我发现唯一有趣的部分是从菜单中接收一个动作,我认为你需要创建一个Objective-c类作为接收器(目标)。

您应该能够将.xib文件作为一个全新的菜单加载,以替换GLFW3创建的文件,但我还没有考虑过。

更新:这是一个示例项目。

https://github.com/stevetranby/TestNSMenuCocos2Dx

更新:在项目中添加了一个示例,用于加载.xib

菜单