我在我的图层,UITableView和UITextField中添加了几个UIKit项目。
如何在过渡期间让这些项目与场景的其余部分一起动画?
我已尝试通过CCDirector添加项目,
[[[CCDirector sharedDirector] openGLView] addSubview:tableView];
以及使用CCUIViewWrapper类。
无论哪种方式,cocos2d项目全部转换,但UIKit项目仍保留在屏幕上,并且不会与屏幕的其余部分一起动画。
HelloWorldLayer *scene = (HelloWorldLayer *)[HelloWorldLayer scene];
[[CCDirector sharedDirector] replaceScene:[CCTransitionZoomFlipX transitionWithDuration:0.5 scene:(CCScene *)scene]];
仅用于测试,我使用了此处显示的旋转按钮示例: http://www.cocos2d-iphone.org/forum/topic/6889 并将上面的replaceScene代码添加到按钮操作中。
如果您还在屏幕上添加CCLabelTTF,您会注意到标签的动画带有过渡,但按钮没有。
答案 0 :(得分:0)
我遇到了与UIWebView相同的问题,我不得不使用UIView动画来移动它们
[UIView animateWithDuration:1.0f animations:^{
//Animation
}completion:^(BOOL finished) {
if(finished){
//Completed
}
}];
虽然 BE WARNED ,但与以下内容相比,UIView动画块动画以不同的速度动画:
[[CCDirector sharedDirector] replaceScene:[CCTransitionZoomFlipX transitionWithDuration:0.5 scene:(CCScene *)scene]];
我还没有找到一个完美的解决方案,但我发现,如果我将UIView褪去,因为我正在制作动画,它让它显得更加流畅
答案 1 :(得分:0)
Cocos2D中有四种不同类型的directors
。有些人支持UIKit而其他人则不支持。您可以通过实例化不同的控制器对象来解决您的问题。