2012-02-24 54 views
0

我一直在尝试将图层放入场景中。我的场景被称为“生存”。我的图层被称为“SSpriteLayer”。场景初始化,但图层不。将图层添加到场景不起作用

SURVIVAL.H:

#import <Foundation/Foundation.h> 
#import "cocos2d.h" 
#import "SSpriteLayer.h" 

@interface Survival : CCLayer {} 
@end 

SURVIVAL.M:

@implementation Survival 

+(CCScene *) scene 
{ 
    // 'scene' is an autorelease object. 
    CCScene *scene = [CCScene node]; 

    // 'layer' is an autorelease object. 
    Survival *layer = [Survival node]; 
    SSpriteLayer *spriteLayer = [SSpriteLayer node]; 

    // add layer as a child to scene 
    [scene addChild: layer]; 
    [scene addChild: spriteLayer]; 

    // return the scene 
    return scene; 
} 

-(id) init 
{ 
    if((self=[super init]))   
     NSLog(@"SCENE HAS INIT"); 

    return self; 
} 

@end 

SSPRITELAYER.H:

#import <Foundation/Foundation.h> 
#import "cocos2d.h" 

@interface SSpriteLayer : CCLayer { 

} 

@end 

SSPRITELAYER.M:

#import "SSpriteLayer.h" 


@implementation SSpriteLayer 

-(id) init 
{ 
    if((self=[super init]))   
     NSLog(@"SPRITELAYER HAS INIT"); 

    return self; 
} 


@end 

我不明白的是为什么我的层不initizializing,为什么我没有得到消息“SPRITELAYER HAS INIT”在调试区。

+0

什么问题?另外,你是什么意思:*“我已经导入SurvivalHudLayer.h”*?你可以发布一些代码吗? – sch 2012-02-24 07:47:13

+0

@sch 问题是我的图层没有初始化,它没有出现,我从来没有收到消息“HUD LAYER HAS INIT”。现在问题是将游戏导入游戏场景的代码。 – akuritsu 2012-02-24 07:58:13

+0

什么是'生存',你可以发布代码吗?另外,你的代码实际上是编译的,还是与你在这里发布的代码不同? – sch 2012-02-24 08:23:51

回答

0
// add layer as a child to scene 
    [self addChild: layer]; 
    [self addChild: SpriteLayer]; 

改变它,尝试

0

确保,你叫

[Survival scene]; 

[Survival node]; 

和后置代码在这里调用场景