我知道我的问题可能是愚蠢的,但我搜索了,我找不到为什么它不起作用。
我创建了一个CCLayer
类BackgroundLayer
,其实现如下:
#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}}方法中添加背景,那么它是否有效......我不应该假设图层的工作方式是这样的吗?
答案 0 :(得分:2)
不确定是否相关,但您在BackgroundLayer中忘记了self = [super init];
。
尝试注释掉锚点线,看看图像是否显示出来。