cocos2d在场景中添加图层

时间:2012-07-23 08:02:13

标签: cocos2d-iphone add layer

我知道我的问题可能是愚蠢的,但我搜索了,我找不到为什么它不起作用。 我创建了一个CCLayerBackgroundLayer,其实现如下:

#import "BackgroundLayer.h"

@implementation BackgroundLayer

- (id)init {
    if (self != nil) {
        CCSprite *background = [CCSprite spriteWithFile:@"menu.png"];
        background.anchorPoint = ccp(0, 0);

        [self addChild:background z:-1];

        NSLog(@"test");
    }
    return self;
}

@end

我希望在主菜单场景中添加它,我有:

#import "MainMenuScene.h"
#import "BackgroundLayer.h"

@implementation MainMenuScene

+ (id)scene { 
    CCScene *scene = [CCScene node];
    BackgroundLayer *backgroundLayer = [BackgroundLayer node];
    [scene addChild:backgroundLayer];
    return scene;
}

- (id)init {
    self = [super init];
    if (self != nil) {
    }
    return self;
}

@end

我的问题是出现NSLog测试,但后台没有加载。如果我在init的{​​{1}}方法中添加背景,那么它是否有效......我不应该假设图层的工作方式是这样的吗?

1 个答案:

答案 0 :(得分:2)

不确定是否相关,但您在BackgroundLayer中忘记了self = [super init];

尝试注释掉锚点线,看看图像是否显示出来。