我有一个cocos2d-x应用程序,我一直在iOS上进行调试。现在我正在开发OS X方面。
正如预期的那样,除了我的iOS应用程序中的一些手势命令没有转换为OS X之外,一切都运行得非常相似。
我想创建菜单项(OS X级别)和相关的快捷方式来完成一些手势交互(至少作为一个选项)。
创建MainMenu.xib并在项目设置中链接它似乎不是全部。菜单仍然是通用的“AppName”和Window菜单,而不是我在xib文件中创建的菜单。
我相信我需要以某种方式将它连接到AppDelegate,但我不确定如何,并且我没有成功找到相应的文档,至少与它如何与Cocos2d-x相互作用有关
答案 0 :(得分:3)
基本上你只需要在从AppDelegate.cpp或其他地方调用的Objective-C ++类中创建菜单。扩展名为.mm
,以便调用objective-c编译器/运行时。然后,您可以创建NSMenu并添加项目或替换整个菜单集[ServiceMenu / WindowMenu / MainMenu]
我发现唯一有趣的部分是从菜单中接收一个动作,我认为你需要创建一个Objective-c类作为接收器(目标)。
您应该能够将.xib文件作为一个全新的菜单加载,以替换GLFW3创建的文件,但我还没有考虑过。
更新:这是一个示例项目。
https://github.com/stevetranby/TestNSMenuCocos2Dx
更新:在项目中添加了一个示例,用于加载.xib
菜单