Ios -(id)init上的Cocos2D崩溃
我有一个包含两层的场景。一个名为BackgroundLayer,另一个名为GameplayLayer。背景层如下所示:Ios -(id)init上的Cocos2D崩溃,ios,objective-c,cocos2d-iphone,Ios,Objective C,Cocos2d Iphone,我有一个包含两层的场景。一个名为BackgroundLayer,另一个名为GameplayLayer。背景层如下所示: -(id) init{ self = [super init]; if(self != nil){ CCSprite * backgroundImage; if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){ backgroundImage = [CCSprite spriteWith
-(id) init{
self = [super init];
if(self != nil){
CCSprite * backgroundImage;
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
backgroundImage = [CCSprite spriteWithFile:@"backgroundr.png"];
}
else{
backgroundImage = [CCSprite spriteWithFile:@"background.png"];
}
CGSize screenSize = [[CCDirector sharedDirector] winSize];
[backgroundImage setPosition:CGPointMake(screenSize.width/2, screenSize.height/2)];
[self addChild:backgroundImage];
}
return self;}
-(id) init{
self = [self init];
if( self != nil){
}
return self;
}
很好用。但问题是,GameplayLayer导致游戏崩溃。 GameplayLayer如下所示:
-(id) init{
self = [super init];
if(self != nil){
CCSprite * backgroundImage;
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
backgroundImage = [CCSprite spriteWithFile:@"backgroundr.png"];
}
else{
backgroundImage = [CCSprite spriteWithFile:@"background.png"];
}
CGSize screenSize = [[CCDirector sharedDirector] winSize];
[backgroundImage setPosition:CGPointMake(screenSize.width/2, screenSize.height/2)];
[self addChild:backgroundImage];
}
return self;}
-(id) init{
self = [self init];
if( self != nil){
}
return self;
}
游戏场景也是这样:-(id) init{
self = [super init];
if(self != nil){
BackgroundLayer * backgroundLayer = [BackgroundLayer node];
[self addChild:backgroundLayer z:0];
GameplayLayer * gameplayLayer = [GameplayLayer node];
[self addChild:gameplayLayer z:5];
}
return self;
}
我真的看不出有什么问题。但是如果我删除-(id)init,它就不会崩溃<有什么想法吗?
以下是日志的最后几行:
self=[self init]Gameplayer
中的code>将永远重复出现。应该是self=[super init]代码>self=[self init]Gameplayer
中的code>将永远重复出现。应该是self=[super init]代码>有些场景需要使用[self init]
,但它们很少。我希望Xcode对类似的递归函数给出更多的警告。有些情况下,您需要使用[self init]
,但它们很少。我希望Xcode对类似的递归函数给出更多警告。