我正在运行 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。
注意:我对 iOS 开发一无所知
从 glGetString 获取 NULL 通常意味着 OpenGL 上下文未绑定(bind)或创建不正确。你应该检查一下。同时使用 glGetError 检查 GL 错误。
关于iphone - 由于 glGetString 导致应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7047622/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |