Mic*_*ael 4 beta glreadpixels cocos2d-iphone ios ios6
我目前在Appstore中有一个使用Cocos2D框架的App.对于碰撞检测,我使用的是glReadPixels.屏幕仅具有白色和黑色像素,并且检测黑色像素意味着碰撞.一切都运行良好,直到iOS 5.1.1,但在iOS6 Beta(所有这些)glReadPixels停止工作.现在glReadPixels返回的RGB值始终为0,0,0.
有谁知道出了什么问题或如何解决这个问题?
非常感谢您的帮助!
小智 7
在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;
}
Run Code Online (Sandbox Code Playgroud)
感谢苹果私人列表的建议 - 这就是我找到该问题的解决方案的地方。
在 Cocos2D 类“EAGLView.m”中,我在 init 方法中将“preserveBackbuffer”变量设置为“YES”。现在它也可以在 iOS 6 Beta 中再次运行。