glReadPixel停止使用iOS6 Beta

可能重复:
为什么glReadPixels()在iOS 6.0的代码中失败?

我目前在使用Cocos2D框架的Appstore中有一个App。 对于碰撞检测,我使用glReadPixels。 屏幕只有白色和黑色像素,检测黑色像素意味着碰撞。 一切工作正常的iOS 5.1.1,但在iOS6 Beta(所有这些)glReadPixels停止工作。 现在glReadPixels返回的RGB值总是0,0,0。

有没有人有一个想法出了什么问题或如何解决?

非常感谢您的帮助!

在EAGLView.m上更改这个为我运行!

- (id)initWithCoder:(NSCoder*)coder { self = [super initWithCoder:coder]; if (self) { CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer; eaglLayer.opaque = TRUE; eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:YES], kEAGLDrawablePropertyRetainedBacking, kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil]; // YES self.contentScaleFactor = [UIScreen mainScreen].scale; } return self; } 

感谢苹果私人列表的build议 – 这是我find解决这个问题的地方。

在Cocos2D类“EAGLView.m”中,我在init方法中将“preserveBackbuffer”variables设置为“YES”。 它现在也在iOS 6 Beta中运行。