Ios 如何更改CCMenuItemImage的标记值?
我有一个Ios 如何更改CCMenuItemImage的标记值?,ios,cocos2d-iphone,menuitem,Ios,Cocos2d Iphone,Menuitem,我有一个ccmen,带有一系列添加了代码的按钮: _viewMenu = [[CCMenu alloc] init]; for (int i = 0; i < _somearray.count; i++) { switchViewMI = [CCMenuItemImage itemWithNormalImage: [_somearray objectAtIndex:i]
ccmen
,带有一系列添加了代码的按钮:
_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];
}
_viewMenu=[[CCMenu alloc]init];
对于(int i=0;i<\u somearray.count;i++)
{
switchViewMI=[CCMenuItemImage itemWithNormalImage:[[u somearray objectAtIndex:i]
选择图像:[[u somearray objectAtIndex:i]
目标:自我
选择器:@selector(switchViewSelected:)];
switchViewMI.tag=i;
[_viewmenuaddchild:switchViewMI];
}
我使用switchViewMI.tag
来标识要调用的函数
我的问题是,我想动态删除一些按钮,因此我必须编辑
标记
。但是我不知道如何访问\u viewMenu.item
。我怎样才能做到这一点 使用cocos2d v2.1,您可以使用
[_viewMenu.children objectAtIndex:i];
如果您迭代子项并同时尝试删除,则会出现异常。如果您不打算设置按钮“消失”的动画,我只需从菜单中删除所有菜单项,然后从头开始重新运行添加和放置它们的逻辑。是的,这就是我目前所做的:删除所有菜单项,然后重新运行add方法。我想可能有更优雅的解决方案。但我现在只能将就一下。优雅是没有意义的:这一切都发生在显示屏刷新之间,你永远不会冒在飞行中被“打断”的风险。您的应用程序用户将永远看不到区别:)。