Cocos2d-x中有一个Menu菜单系统,你可以在游戏开发中创建菜单。菜单是什么呢?我们使用各种软件都会接触到菜单,比如VS上的菜单栏:
我对菜单的理解是:菜单由一系列菜单项组成(当然也可以只有一个),每个菜单项都可以显示文字,并且像按钮一样具备交互性,点击可以触发其相关功能。就拿上面的VS的菜单栏来说,这个菜单栏就是一个菜单,FILE、EDIT、VIEW这些都是菜单上的菜单项,我们点击它们就会触发其各自的相关逻辑功能。
在cocos中,菜单类CCMenu是CCLayer的子类,但其本身并不具备菜单属性,而是作为一个容器,将一些具体类型的MenuItem菜单项添加进去来实现菜单功能的。在开发中,如果我们想要使用菜单,一般的步骤是:
- 创建Menu,设置Menu的位置等属性;
- 创建MenuItem,设置MenuItem的位置等属性;
- MenuItem加入到Menu;
- Menu加入到层。
关系图如下:
MenuItem一共有4种创建方式