Функция cclayer под названием error
У меня есть два слоя под названием Alayer и Blayer, Alayer является родителем
в alayer.h есть функция
- (void)playGame;
в alayer.m, добавьте blayer
- (id)init
{
if ([super init] == self) {
Blayer *bLayer = [[bLayer alloc] initWithParent:self];
[self addChild:bLayer];
}
return self;
}
- (void)playGame
{
CCLOG(@"game start");
}
в blayer.m
-(id) initWithParent:(CCLayer *)parentLayer
{
if ([super init] == self) {
winSize = [[CCDirector sharedDirector] winSize];
CCLabelTTF *startGameLabel = [CCLabelTTF labelWithString:@"Start" fontName:@"Marker Felt" fontSize:12];
startGameLabel.color = ccc3(251, 182, 59);
CCMenuItemFont *startGame = [CCMenuItemFont itemWithLabel:startGameLabel block:^(id sender) {
[self removeFromParentAndCleanup:YES];
Alayer *aLayer = (Alayer *)self.parent;
[aLayer playGame];
}];
CCMenu *menuStart = [CCMenu menuWithItems:startGame, nil];
menuStart.position = ccp(winSize.width / 2, winSize.height / 2);
[self addChild: menuStart];
}
return self;
}
когда вы нажимаете кнопку "Пуск", blayer может быть удален из alayer(родитель), но функция "playGame" не может быть вызвана, так что вы можете мне помочь, где проблема? Спасибо