如何更改CCMenuItemImage的标记值?

时间:2014-04-29 07:15:04

标签: ios cocos2d-iphone menuitem

我有一个CCMenu,其中添加了一系列按钮代码:

_viewMenu = [[CCMenu alloc] init];
    for (int i = 0; i < _somearray.count; i++)
    {
        switchViewMI = [CCMenuItemImage itemWithNormalImage: [_somearray objectAtIndex:i]
                                                 selectedImage: [_somearray objectAtIndex:i]
                                                        target: self
                                                      selector: @selector(switchViewSelected:)];
        switchViewMI.tag = i;
        [_viewMenu addChild:switchViewMI];
    }

我使用switchViewMI.tag来识别要调用的函数。

我的问题是我想动态删除一些按钮,所以我必须编辑tag。但我不确定如何访问_viewMenu.item。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

使用cocos2d v2.1,您可以使用

访问菜单项
[_viewMenu.children objectAtIndex:i];

小心如果你迭代孩子并尝试同时删除,你会得到一个例外。如果您不打算为按钮设置动画“消失”,我只需从菜单中删除所有菜单项,然后从头开始重新运行逻辑以添加并将它们放置到位。