2011-04-05 49 views
1

我得到了一个使用Cocos2d的iPhone应用程序(版本:#define COCOS2D_VERSION 0x00010000)。它适用于我的iPad和iPhone以及我测试过的各种iPhone。在CCSprite的-draw方法里启动时发生奇怪的崩溃

但是在一个(3G)它总是崩溃初始化过程中每一次 - 崩溃日志显示CCSprite.m文件中的问题,在-draw方法 - 在这条线:

// tex coords 
diff = offsetof(ccV3F_C4B_T2F, texCoords); 
glTexCoordPointer(2, GL_FLOAT, kQuadSize, (void*)(offset + diff)); // This line crashes 

的系统崩溃日志显示以下内容:

OS Version:  iPhone OS 4.2.1 (8C148) 
Report Version: 104 

Exception Type: EXC_BAD_ACCESS (SIGBUS) 
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000004 
Crashed Thread: 0 

Thread 0 Crashed: 
0 MBXGLEngine      0x302554e8 0x30229000 + 181480 
1 MBXGLEngine      0x30256980 0x30229000 + 186752 
2 MBXGLEngine      0x3022ca80 0x30229000 + 14976 
3 MBXGLEngine      0x30252580 0x30229000 + 169344 
4 S100       0x000342d8 -[CCSprite draw] (CCSprite.m:606) 
5 S100       0x00023e74 -[CCNode visit] (CCNode.m:550) 
6 S100       0x00023e14 -[CCNode visit] (CCNode.m:535) 
7 S100       0x00023e50 -[CCNode visit] (CCNode.m:545) 
8 S100       0x00048500 -[CCDirectorIOS drawScene] (CCDirectorIOS.m:169) 
9 Foundation      0x35168eda 0x35151000 + 98010 
10 Foundation      0x35168d5e 0x35151000 + 97630 
11 S100       0x0004ad38 -[EAGLView layoutSubviews] (EAGLView.m:214) 
+0

我也有这个问题...你找到了解决方案吗? – 2012-02-10 17:21:34

+0

当我从我的App Delegate中注释掉“删除闪烁”代码时,这个问题似乎停止了,这个代码与缓冲区交换有关。也许情况是这样吗? – kender 2012-02-14 11:02:37

回答

0

纹理的大小是多少?在较旧的设备上,它不能超过1024x1024。