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