cocos2d-x在IOS7下面文字显示异常的解决办法
2013-10-19 10:18
435 查看
由于xcode升级到了5.0,之前在cocos2d-x2.1.3下面的项目,出现了莫名其名的错误,主要是文字显示异常,明明有文字的,但就是不显示,后来搜了下,发现是需要修改cocos2d-x底层的相关设置,如果你在运行时出现文字显示异常,并且有如下提示:
CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 24 bits/pixel; 3-component color space; kCGImageAlphaNone; 363 bytes/row.
那你就按如下方法设置下,亲测成功。
首先,打开项目目录:
打开CCImage.mm文件,定位到如下函数:
然后,找到:
将其替换为:
因为dim.width*4有可能不是整数,所以就来个强制类型转换。
另外,接着向下寻找,还是在这个函数中,找到如下代码:
将其替换为:
这样,就可以完美解决cocos2d-x低版本在IOS7下文字显示异常的问题,当然,版本不同,具体的修改可能不同,但大同小异,我的cocos2d-x版本为2.1.3,另外,附上cocos2d-x官方对这个问题的解决办法:https://github.com/ricardoquesada/cocos2d-x/commit/e652423639d1d83396af2a331d4edae2af153063
欢迎转载,转载请注明地址:/article/7758928.html
CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 24 bits/pixel; 3-component color space; kCGImageAlphaNone; 363 bytes/row.
那你就按如下方法设置下,亲测成功。
首先,打开项目目录:
打开CCImage.mm文件,定位到如下函数:
static bool _initWithString(const char * pText, cocos2d::CCImage::ETextAlign eAlign, const char * pFontName, int nSize, tImageInfo* pInfo)
然后,找到:
CGContextRef context = CGBitmapContextCreate(data, dim.width, dim.height, 8, dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
将其替换为:
CGContextRef context = CGBitmapContextCreate(data, dim.width, dim.height, 8, (int)dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
因为dim.width*4有可能不是整数,所以就来个强制类型转换。
另外,接着向下寻找,还是在这个函数中,找到如下代码:
[str drawInRect:CGRectMake(0, startH, dim.width, dim.height) withFont:font lineBreakMode:(UILineBreakMode)UILineBreakModeWordWrap alignment:align];
将其替换为:
[str drawInRect:CGRectMake(0, startH, dim.width, dim.height) withFont:font lineBreakMode:NSLineBreakByWordWrapping alignment:(NSTextAlignment)align];
这样,就可以完美解决cocos2d-x低版本在IOS7下文字显示异常的问题,当然,版本不同,具体的修改可能不同,但大同小异,我的cocos2d-x版本为2.1.3,另外,附上cocos2d-x官方对这个问题的解决办法:https://github.com/ricardoquesada/cocos2d-x/commit/e652423639d1d83396af2a331d4edae2af153063
欢迎转载,转载请注明地址:/article/7758928.html
相关文章推荐
- cocos2d-x在IOS7下面文字显示异常的解决办法 CGBitmapContextCreate: unsupported parameter combination
- cocos2d-x在IOS7下面文字显示异常的解决办法
- cocos2d-x在IOS7下面文字显示异常的解决办法
- cocos2d-x在IOS7下面文字显示异常的解决办法
- XNA中显示文字的解决办法(转自中国开发网)
- 可遇不可求的Question之FusionCharts图表显示异常的解决办法
- IE6 IE7下文字显示竖排的解决办法
- itextsharp 生成 pdf 文字之显示不出 。不兼容 解决办法
- 解决cocos2d-x 安卓锁屏再解锁,OPenGL报错;后台转前台异常问题解决办法
- cocos2d-x发生undefined reference to `XX'异常 一劳永逸解决办法
- Bootstrap 3.x打印预览背景色与文字显示异常的解决
- ASP.NET中的Menu控件在谷歌浏览器下显示异常的解决办法
- “textField.placeholder属性中的文字设置后在ios7下在textfield的中间。在ios6下字会往上偏”解决办法
- JFreechart存储为PDF不能显示中文文字的解决办法
- IE下textarea中font-size值很大时,文字不显示的问题的解决办法
- 百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法
- Cocos2d-x 2.0.4 在iPad iOS 4.3中JPG图片Alpha显示错误的解决办法
- iOS开发 iOS7显示偏差(UITableView下移)解决办法
- js中使用a标签onclick事件切换图片时显示异常解决办法
- JFreechart存储为PDF不能显示中文文字的解决办法