Мне нужна рука, передающая переменную селектору, настроенному в CCMenuItemImage, если это вообще возможно. Похоже, так и должно быть, я просто не могу разобраться!
Вот что я пытаюсь достичь:
- Создайте меню, скажем, из 20 игровых уровней с
для / петли. Нет проблем.
- В цикле for / укажите
инкрементная переменная. Нет проблем.
- Передача инкрементной переменной селектору, указанному в
CCMenuItemImage. Проблема!
- Использовать инкрементную переменную для
определить, какой уровень игры загружать при нажатии на конкретный пункт меню. Проблема без # 3 решена!
Во всяком случае, с (сокращен для ясности) код:
Вот команда, используемая в цикле for / для создания пункта меню
CCMenuItemImage *image = [CCMenuItemImage itemFromNormalImage:@"Normal.png" selectedImage:@"Selected.png" target:self selector:@selector(onSelect:)];
Теперь, как вы можете видеть в приведенном выше фрагменте, нет места для «userinfo», как это предусмотрено в классе NSTimer.
В идеале, вместо того, чтобы указывать каждый CCMenuItemImage на один и тот же селектор, которому я не могу передать переменную, я бы фактически предпочел вызвать метод, подобный этому ниже. Int будет представлять игровой уровень, который должен быть загружен при нажатии CCMenuItemImage:
- (void)onSelectWithStage:(int)selectedStage {
// write the selected stage to the GameData.xml
[SceneManager goLevelSelect];
}
В любом случае, я думаю, что это в значительной степени подводит итог. Надеюсь, мне не хватает чего-то явно очевидного:)
Заранее спасибо за ваше время