【问题标题】:cocos2d for each CCMenuItem每个 CCMenuItem 的 cocos2d
【发布时间】:2013-04-14 17:57:24
【问题描述】:

我正在设置一个 CCMenu,菜单项如下:

    CCLabelTTF *label1 = [CCLabelTTF labelWithString:@"level 1" fontName:@"Marker Felt" fontSize:32];
    CCLabelTTF *label2 = [CCLabelTTF labelWithString:@"level 2" fontName:@"Marker Felt" fontSize:32];
    CCLabelTTF *label3 = [CCLabelTTF labelWithString:@"level 3" fontName:@"Marker Felt" fontSize:32];
    CCLabelTTF *label4 = [CCLabelTTF labelWithString:@"level 4" fontName:@"Marker Felt" fontSize:32];

    CCMenuItem *level1 = [CCMenuItemLabel itemWithLabel:label1 target:self selector:@selector(levelSelect:)];
    level1.tag = 1;
    CCMenuItem *level2 = [CCMenuItemLabel itemWithLabel:label2 target:self selector:@selector(levelSelect:)];
    level2.tag = 2;
    CCMenuItem *level3 = [CCMenuItemLabel itemWithLabel:label3 target:self selector:@selector(levelSelect:)];
    level3.tag = 3;
    CCMenuItem *level4 = [CCMenuItemLabel itemWithLabel:label4 target:self selector:@selector(levelSelect:)];
    level4.tag = 4;
    CCMenu *menu = [CCMenu menuWithItems:level1, level2, level3, level4, nil];
    [menu alignItemsVerticallyWithPadding:20];

有没有办法可以缝制一个 for 循环来遍历每个 CCMenuItem?如果它的标签小于其他东西,我基本上想将启用设置为 no。例如:

for (ALL MENU ITEMS) {
    if (THAT MENU ITEM.tag < 4) {
        THAT MENU ITEM.enabled = NO;
    }
}

提前致谢

【问题讨论】:

    标签: for-loop cocos2d-iphone menuitem ccmenuitem


    【解决方案1】:

    CCMenuItems 被添加为您的 CCMenu 的子项,因此为了遍历它们,您可以这样做。-

    for (CCMenuItem *item in [menu children]) {
        if (item.tag < 4) {
            item.enabled = NO;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多