2.0.4 CCLabelTTF在ios7下不显示的问题

要修改框架lib目录里的 CCImage.mm,就是把浮点值取了个整,之前的浮点形导致绘制失败:

在_initWithString这个方法里把如下代码替换一下就行了:

 1  /////////////////////////////////////////////////////////
 2         /////////////////////////////////////////////////////////
 3         // for CCLabelTTF can not show text in ios7
 4         /*
 5         unsigned char* data = new unsigned char[(int)(dim.width * dim.height * 4)];
 6         memset(data, 0, (int)(dim.width * dim.height * 4));
 7         
 8         // draw text
 9         CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();    
10         CGContextRef context = CGBitmapContextCreate(data, dim.width, dim.height, 8, dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
11          */
12         
13         const int _width  = dim.width;
14         const int _height = dim.height;
15         
16         unsigned char* data = new unsigned char[(int)(dim.width * dim.height * 4)];
17         memset(data, 0, (int)(_width * _height * 4));
18         
19         // draw text
20         CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
21         CGContextRef context =
22         CGBitmapContextCreate(data, _width, _height, 8, _width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
23         
24         /////////////////////////////////////////////////////////
25         /////////////////////////////////////////////////////////

参考:

http://www.cocoachina.com/ask/questions/show/92695

https://github.com/ricardoquesada/cocos2d-x/commit/e652423639d1d83396af2a331d4edae2af153063

posted @ 2013-10-14 15:41  居家懒人  阅读(893)  评论(0编辑  收藏  举报