在项目中,当有两个图层显示在一个场景中时,底层的图层需要根据一个规则进行移动,而上层图层是用来控制的图层,这时,最上层的控制图层可能会产生闪烁。
在AppDelegate::applicationDidFinishLaunching()中,添加一行即可:
CCDirector::sharedDirector()->setProjection(kCCDirectorProjection2D);//使用2D投影(默认3D)
一旦两个精灵图片交叠且移动的时候,偶尔会产生闪屏问题:即两个图片相互闪烁,仿佛引擎无法识别哪个是前景哪个是背景
解决这个问题需要是因为CCDirector::setGLDefaultValues() 中默认开启深度测试setDepthTest(true)
所以解决办法是进入AppDelegate.cpp中,在AppDelegate::applicationDidFinishLaunching()中,添加一行:
CCDirector::sharedDirector()->setDepthTest(false);//关闭深度测试
以上2中方法可以同时使用。