cocos2d поддерживает список ccmenuitem - PullRequest
0 голосов
/ 27 февраля 2012

Я загружаю список предметов

NSMutableArray *listOfItems;
    Items *items = [ItemParser loadItemsForALevel:selectedLevel fromASuperLevel:selectedSuperLevel];

В моем цикле for я добавляю NSMutableArray, чтобы отобразить его в моем слое меню

for (Item *item in items.items) {

//Initialing a CCMenuItem and calling a removeMethod
CMenuItem *anItem = [[CCMenuItemSprite itemFromNormalSprite:[CCSprite spriteWithFile:item.picture]
 selectedSprite:[CCSprite spriteWithFile:item.picture]
target:self
selector:@selector(removeMethod:)] retain];

NSString *textToDisplay;
textToDisplay = item.ItemText;
[listOfItems addObject:textToDisplay];

}

-(void)removeMethod:(id)sender {
CCMenuItemSprite *pointedItem = (CCMenuItemSprite *)sender;

//Now I'm removing only from the layer
[CCCallFunc actionWithTarget:pointedItem selector:@selector(removeFromParentAndCleanup:)]

//How do I remove it from array?

}

Как удалить выбранный элемент из массива listOfItems и обновить его?

1 Ответ

0 голосов
/ 27 февраля 2012

Сделать 'textToDisplay' как глобальную переменную. В removeMethod.Вы можете удалить его из массива, используя

[listOfItems removeObjectAtIndex: [listOfItems indexOfObject: textToDisplay]];

Надеюсь, что это поможет: -)

...