我正在使用 Chaos In Motion 在http://www.chaosinmotion.com/flowcover.html使用 cocos2d 在 ios 中制作基于 Coverflow 的应用程序,我正在使用 [[ccdirector sharedirector]pushscene:[myscene scene]] 推送场景;
它显示了特定的控件,并且它有一个使用 [self schedule:] 运行的更新方法,然后我弹出场景并返回到之前出现的屏幕,但之前的场景计划仍在运行,我无法按下当前屏幕上的任何按钮。我被它困住了。
我正在使用 [[CCDirector sharedDirector] pushScene: [CCTransitionFadeBL transitionWithDuration:3 scene:[AvatarSelection scene]]];为了推动场景和化身选择类,我有一个方法叫做
**-(void) ShowCoverFlow { FlowCoverViewController *flowCover; flowCoverView = [[[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
//using a navigation controller to present FlowCover without it rotating to portrait
testViewController = [[UINavigationController alloc] init];
//The navigation controller will try to put a nav bar in the window, so we hide it
[testViewController setNavigationBarHidden:YES animated:NO];
[testViewController setView:flowCoverView];
NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"TestFC" owner:self options:nil];
flowCover = [array objectAtIndex:0];
testViewController.delegate = self;
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
[[[[CCDirector sharedDirector] openGLView] window]addSubview:flowCoverView];
//testViewController.view.backgroundColor = [UIColor redColor];
double delayInSeconds = 0.1;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[testViewController presentModalViewController:flowCover animated:YES];
});
[testViewController setModalPresentationStyle:UIModalPresentationFullScreen];
}**
然后在选择封面流时,我将删除剩余的 ** - (void)flowCover:(FlowCoverView *)view didSelect:(int)image {
[flowCoverView removeFromSuperview];
[testViewController dismissModalViewControllerAnimated:YES];
[testViewController release];
testViewController = nil;
[[CCDirector sharedDirector] popScene];
[[NSNotificationCenter defaultCenter] postNotificationName:@"avatarchanged" object:self];
}**
并且在我之前的屏幕中没有弹出任何按钮后,我可以按下