У меня есть эта основная сцена в игре, и я вызвал меню, где пользователь может выбрать параметры для нового матча (количество игроков, уровень сложности и т. Д.).
Это меню было создано на CClayer и представлено поверх главной сцены, используя это:
CCLayer *menu = [Menu node];
id actionFadeIn = [CCFadeIn actionWithDuration:0.3];
[menu runAction:[CCSequence actions:actionFadeIn, nil]];
[self addChild:menu z:1 tag:theMenu];
Класс этого меню имеет базовую логику. Для каждого параметра, выбранного в этом меню, надлежащий параметр устанавливается для одного элемента. Теперь, когда пользователь выбрал все параметры, он будет нажимать кнопку START GAME.
Когда это происходит, меню должно исчезать, и метод с именем startGame должен запускаться на главной сцене, но это моя проблема: как запустить метод из класса меню? Я думал, что смогу сделать
CCScene *currentScene = [[CCDirector sharedDirector] runningScene];
[currentScene startGame];
но я не могу этого сделать, потому что текущая сцена не является самим экземпляром, и каждый из ее методов может быть запущен только изнутри сцены, но не снаружи.
Я думал об использовании уведомлений, чтобы опубликовать приказ о запуске метода в классе, но это звучало неубедительно и напоминало использование пушки для уничтожения мухи. Как лучший способ сделать это в Cocos?
спасибо.