在运行时添加cocos2d菜单项

时间:2009-03-31 18:23:02

标签: iphone cocoa cocoa-touch cocos2d-iphone

我正在尝试在运行时向Menu对象添加可变数量的MenuItem对象。当我的游戏开始时,我真的不知道我的菜单是2还是5项。

for (MyItem* item in myItemCollection)
{
        MenuItemImage* menuItem = [MenuItemImage itemFromNormalImage:@"MenuItem.png" selectedImage:@"MenuItemSelected.png" target:self selector:@selector(options:)];
}

我现在如何将MenuItems添加到Menu对象。通过使用addChild我得到一个例外,我无法在网上找到解决方案。

另外,一个侧面问题:当我可以这样添加我的MenuItem时。如何恢复我的MenuItem并更改它们显示的图像?

1 个答案:

答案 0 :(得分:0)

来自NSMenu:

    - (void)addItem:(NSMenuItem *)newItem
假设您有一个NSMenu对象来发送此消息,并且MenuItemImage是NSMenuItem的子类。

根据您对项目的了解,将菜单项恢复原状: - itemWithTag:
- itemWithTitle: - itemAtIndex:

或者您可以使用以下方式遍历项目:
- numberOfItems
- itemArray

查看NSMenuItem文档以获取/设置图像。

http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMenu_Class/Reference/Reference.html

http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMenuItem_Class/Reference/Reference.html