我正在运行 cocos2d-iphone 1.0.0 并关注 this使用 cocos2d 和 ARC 的教程。不幸的是,每当我尝试将 TMX 平铺 map 添加到 CCLayer 时,都会收到“SIGABRT”崩溃错误。我已经将此问题追溯到 -(BOOL)checkForGLExtensionNSString *)searchName ,甚至在此函数中进一步追溯到 NSString *extensionsString = [NSString stringWithCString:glExtensions encoding: NSASCIIStringEncoding ];
这里是 checkForGLExtension 函数:
- (BOOL) checkForGLExtensionNSString *)searchName {
// For best results, extensionsNames should be stored in your renderer so that it does not
// need to be recreated on each invocation.
NSLog(@"%@", glExtensions);
NSString *extensionsString = [NSString stringWithCString:glExtensions encoding: NSASCIIStringEncoding];
NSLog(@"%@", extensionsString);
NSArray *extensionsNames = [extensionsString componentsSeparatedByString" "]; }
NSString *extensionsString = [NSString stringWithCString:glExtensions encoding: NSASCIIStringEncoding]; 的 encoding: 部分可能导致应用程序崩溃。我还在 GL_VENDOR 、GL_VERSION 、GL_RENDERER 甚至 glExtensions 的日志中收到 NULL。
回顾 OpenGLES.framework 中的 gl.h 向我展示了这一点:
/* StringName */
#define GL_VENDOR 0x1F00
#define GL_RENDERER 0x1F01
#define GL_VERSION 0x1F02
#define GL_EXTENSIONS 0x1F03
其中所有的都是NULL。
Best Answer-推荐答案 strong>
注意:我对 iOS 开发一无所知
从 glGetString 获取 NULL 通常意味着 OpenGL 上下文未绑定(bind)或创建不正确。你应该检查一下。同时使用 glGetError 检查 GL 错误。
关于iphone - 由于 glGetString 导致应用程序崩溃,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/7047622/
|