我的viewController中有一个CCGLView,完成动画后我试图用空场景替换CCGLView中的场景。问题是,在更换场景时,我可以观察到一个闪烁。我想避免它,我提供下面的代码。我必须改变什么以避免闪烁?
CC3Layer* layer=[[CC3Layer alloc]init];
CC3Scene* scene= (CC3Scene*)layer.scene;
scene.backdrop= [CC3Backdrop nodeWithColor:ccc4f(0.0/255.0, 0.0/255.0, 0.0/255.0, 0.0)];
[scene updateScene];
[self.director replaceScene:[layer asCCScene] withTransition:[CCTransition transitionCrossFadeWithDuration:1.0]];
[self.director stopAnimation];
答案 0 :(得分:0)
一个问题是scene
的{{1}}属性返回CC3Layer
实例,而不是您期望的CCScene
实例。无论如何,在您的代码中,CC3Scene
属性将返回scene
,因为它尚未设置。请尝试使用nil
属性。
您尚未指明尝试运行此代码的位置,但如果我将以下代码添加到cc3Scene
模板应用的nodeSelected:byTouchEvent:at:
方法,则转换运行顺利,任何一种闪烁:
CC3HelloWorld
...比尔