Переходы и настройка слоев/сцен в cocos2d iPhone

Я хочу настроить переход между двумя уровнями (после завершения одного уровня используйте один из плавных переходов cocos2d для перехода на следующий уровень). В моей реализации GameLayer у меня есть настроенные методы для выполнения таких действий, как [self buildLevel: 3] для построения игрового поля. Что мне нужно сделать, чтобы создать экземпляр нового узла GameLayer или Layer или узла GameScene или Scene, чтобы иметь возможность делать такие вещи, как:

GameLayer * nextLevelLayer;

[nextLevelLayer buildLevel: 4];

... сделать переход между уровнем 3 и уровнем 4

Возможно, я изложил свой код в полном непонимании цели C. Я предполагаю, что вы не можете настроить новый GameLayer в коде инициализации, так как он будет зависать, постоянно создавая новые узлы. Вероятно, у меня слишком много кода настройки игрового поля в моем коде инициализации для GameLayer, как вы, ребята, обычно с этим справляетесь? Вы устанавливаете флаг перед планированием селектора для основного цикла игры, а затем, если флаг установлен, настраиваете уровень в основном цикле игры, или есть лучший способ сделать это?

Заранее спасибо!


person user21293    schedule 09.12.2008    source источник


Ответы (1)


Для тех, кому это важно, вот что я в итоге сделал:

GameScene * gs = [GameScene node];
[[Director sharedDirector] runScene: gs];
[[Director sharedDirector] replaceScene: [ShrinkGrowTransition transitionWithDuration:0.5 scene: gs]];

Это было сделано в реализации GameLayer после завершения уровня.

person user21293    schedule 11.12.2008