从UIKit的视图控制器我这样做是为了开始游戏:的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 2013-03-14 00:55:47
好吧,我又添加了一条建议,看更新 – LearnCocos2D 2013-03-14 08:05:34
如果我不打电话给[导演结束],我第二次开始游戏时我只得到一个粉红色的屏幕。随之而来的是openGL错误层出不穷:OpenGL错误0x0501 in - [CCSprite draw] 532 – soleil 2013-03-14 18:10:55