從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