Cocos2D не предоставляет метод для этого.
Вы можете создать свой собственный инициализатор, основанный на оригинальном инициализаторе, найденном в "CCMenu.m".Оригинал выглядит следующим образом (я удалил код, который не добавляет элементы для ясности).Создайте свой собственный метод init, основанный на оригинале, и вместо этого добавьте переменное количество элементов.При желании вы также можете установить его в качестве категории в CCMenu.
-(id) initWithItems: (CCMenuItem*) item vaList: (va_list) args
{
if( (self=[super init]) ) {
// ... code cut for clarity
if (item) {
[self addChild: item z:z];
CCMenuItem *i = va_arg(args, CCMenuItem*);
while(i) {
z++;
[self addChild: i z:z];
i = va_arg(args, CCMenuItem*);
}
}
// ... code cut for clarity
}
return self;
}
Обновление: Когда ваши пункты меню изменятся, перестройте все меню.