如何从子视图调用父视图上的CCButton

时间:2014-06-30 14:05:06

标签: ios cocos2d-iphone

在父视图中,有一个名为pausebutton的CCButton,点击它时,子视图将被添加到此视图中

 [[CCDirector sharedDirector] pause];
 pausebutton.selected = YES;
 pauseLayer *pauseLayer = [pauseLayer node];
 [self addChild:pauseLayer];

在子视图pauseLayer中,也有一个名为resumebutton的ccbutton,当点击它时,这个子视图将从父视图中删除,并且两者都设置了所选的暂停按钮是否为。

 - (void)backResume:(id)sender
 {
  [self.parent removeChild:self cleanup:YES];
  [[CCDirector sharedDirector] resume];
 }

但是我找不到从子视图调用暂停按钮的方法,所以你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

在父类上,添加一个强制暂停的方法:

在.h:

 -(void) forcePause;

in .m:

-(void) onButton:(id) sender {
    [self forcePause];
}

-(void) forcePause {
    [[CCDirector sharedDirector] pause];
    pauseLayer *pauseLayer = [pauseLayer node];
    [self addChild:pauseLayer];
}

并且在孩子中,当满足触发暂停的条件时

[self.parent forcePause];

只是一般的想法,还有其他方法可以实现这一点。这个例子是一个非常简单的用例/游戏。或者,在父母中,您可以监听@“forcePause”通知并通知孩子。