Как мне остановить вызов init из другого класса в Cocos2d? - PullRequest
0 голосов
/ 03 августа 2011

В Cocos2d у меня есть 2 класса, HelloWorldScene (стандартный основной класс для шаблона Cocos2d) и OptionsScene.Я запускаю OptionsScene из HelloWorldScene, а затем, когда я закончу использовать OptionsScene, я запускаю HelloWorldScene из OptionScene.

Моя проблема в том, что init вызывается, когда я запускаю HelloWorldScene из OptionsScene, и я не хочу, чтобы init вызывался, потому чтопо сути, это сбрасывает мою игру.

Вот код, который я использую для запуска HelloWorldScene из OptionsScene:

HelloWorld *hw = [HelloWorld alloc];
[hw loadWithParticleColor:particleColor andBloppleColor:bloppleColor];
[hw release];
[[CCDirector sharedDirector] replaceScene:[CCTransitionRotoZoom transitionWithDuration:1.0 scene:[HelloWorld node]]];

Любые подсказки или решения будут очень полезны!

1 Ответ

0 голосов
/ 11 ноября 2011

Поскольку это относительно простая иерархия, вы можете использовать метод CCDirector pushScene: и добавить OptionsScene поверх HelloWorldScene. Уволить с popScene, и ваш HelloWorldScene должен появиться в том состоянии, в котором вы его оставили.

Замена сцены обычно используется, когда вы хотите сэкономить ресурсы, что в данном случае не требуется.

...