0

天,

我有一个小问题。我想在视图控制器被关闭后使用 ccsequence 将当前正在运行的场景替换为另一个场景,如果有这样的东西会很好:

id test = [((AppController *) [UIApplication sharedApplication].delegate).navController dismissViewControllerAnimated:YES completion:Nil];

(id "test" 供将来在 ccsequence 中使用)

所以这里的问题是,是否有可能使用 ccsequence 使用上面键入的字符串来关闭视图控制器,然后用另一个替换当前正在运行的场景(只是想重复),但只有在视图控制器被关闭之后,因为它 couses如果我试图同时关闭视图控制器和 replaceScene 而没有连续完成,那么在 iphone 4 等设备上的动画会出现一些问题。

非常感谢你们的回答,非常希望在这里得到一些帮助!

4

2 回答 2

0

所以我正在回答我之前问过自己的问题,我们开始吧(在 iPhone 4、IOS 5.1.1 上测试,完全可行的示例):

[((AppController *) [UIApplication sharedApplication].delegate).navController dismissViewControllerAnimated:YES 完成:^{ [[CCDirector sharedDirector] replaceScene:[CCTransitionSlideInL transitionWithDuration:0.4f 场景:[HelloWorldLayer 场景]]]; }];

您当然可以更改参数,例如持续时间或场景等,无论如何它会等到视图控制器被关闭,一旦关闭,将当前正在运行的场景替换为另一个。这种方式动画在像 iphone 4 这样不是很强大的设备上看起来更好。希望它对某人有所帮助,因为我花了几天的时间来找到这样一个简单问题的答案。

于 2013-05-03T11:25:58.143 回答
0

CCDirector 的 replaceScene 方法“返回”无效。您可能想使用以下 CCNode 方法来关闭您的控制器

-(void)onExitTransitionDidStart {

}
于 2013-04-28T18:35:02.187 回答