С UIKit ViewController я делаю это, чтобы начать игру:Cocos2d - бег сцену во второй раз не график обновлений
if (director.runningScene == nil)
{
[director runWithScene:[MyGameLayer scene]];
}
[director startAnimation];
MyGameLayer выглядит следующим образом:
+(id) scene {
CCScene *scene = [CCScene node];
MyGameLayer* layer = [MyGameLayer node];
[scene addChild:layer z:0 tag:GameSceneLayerTagGame];
return scene;
}
-(id) init {
if ((self=[super init]))
{
NSLog(@"init!");
self.isTouchEnabled = YES;
[self initPhysics];
[self scheduleUpdate];
}
return self;
}
В первый раз Я играю в игру, все работает нормально. -(void) update: (ccTime) dt
вызывается как следует. Если я выйти из игры и сделать это:
CCDirectorIOS* director = (CCDirectorIOS*)[CCDirector sharedDirector];
[director stopAnimation];
[director end];
А потом играть в игру снова, -(void) update: (ccTime) dt
не дозвонились, хотя я знаю, -init()
становится называется. Игра появляется на экране, но планирование обновлений не работает во второй раз. Что может заставить Cocos2d не планировать обновление и как его исправить?
Нет, я этого не сделал. – soleil
ok, я добавил другое предложение, см. Обновление – LearnCocos2D
Если я не позвоню [конец директора], во второй раз, когда я начинаю игру, я просто получаю розовый экран. Вслед за бесконечным потоком ошибок openGL: ошибка OpenGL 0x0501 in - [CCSprite draw] 532 – soleil