在父视图中,有一个名为pausebutton的CCButton,当点击它时,子视图将被添加到该视图
[[CCDirector sharedDirector] pause];
pausebutton.selected = YES;
pauseLayer *pauseLayer = [pauseLayer node];
[self addChild:pauseLayer];
在子视图pauseLayer中,也有一个叫做resumebutton的按钮,当点击它时,这个子视图将从父视图中移除,并且都设置了pausebutton的选择是NO。
- (void)backResume:(id)sender
{
[self.parent removeChild:self cleanup:YES];
[[CCDirector sharedDirector] resume];
}
但是我找不到从子视图调用暂停按钮的方法,所以你能帮我吗?
在父类中添加一个强制暂停的方法:
in .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"通知,并在子进程中通知。