2013-04-14 34 views
1

林像這樣建立一個CCMenu,與菜單項:的cocos2d每個CCMenuItem

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]; 

有沒有一種方法可以讓我sewt一個for循環,要經過各CCMenuItem?我想基本上想要將其設置爲否,如果它的標籤比其他東西更少。例如:

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

在此先感謝

回答

4

CCMenuItems添加爲您CCMenu的孩子,所以爲了通過他們迭代,你可以do.-

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

完美,謝謝。我很接近 :) –

相關問題