Функция 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" не может быть вызвана, так что вы можете мне помочь, где проблема? Спасибо

0 ответов

Другие вопросы по тегам