`
frank__wang
  • 浏览: 21696 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

( 转)cocos2d-x在IOS7下面文字显示异常的解决办法

阅读更多

(转)原文地址:http://www.2cto.com/kf/201310/251554.html
由于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文件,定位到如下函数:
 
[cpp]  
static bool _initWithString(const char * pText, cocos2d::CCImage::ETextAlign eAlign, const char * pFontName, int nSize, tImageInfo* pInfo)  
然后,找到:
[cpp] 
CGContextRef context = CGBitmapContextCreate(data, dim.width, dim.height, 8, dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);  
将其替换为:
[cpp]  
CGContextRef context = CGBitmapContextCreate(data, dim.width, dim.height, 8, (int)dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);  
因为dim.width*4有可能不是整数,所以就来个强制类型转换。
另外,接着向下寻找,还是在这个函数中,找到如下代码:
 
[cpp]  
[str drawInRect:CGRectMake(0, startH, dim.width, dim.height) withFont:font lineBreakMode:(UILineBreakMode)UILineBreakModeWordWrap alignment:align];  
 
将其替换为:
[cpp]  
[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
分享到:
评论

相关推荐

    【cocos2d-x IOS游戏开发-捕鱼达人4-8】章节代码

    4、【cocos2d-x IOS游戏开发-捕鱼达人4】基本游戏框架 ...7、【cocos2d-x IOS游戏开发-捕鱼达人7】游戏场景基础实现 资源引用页: 8、【cocos2d-x IOS游戏开发-捕鱼达人8】游戏中的配置文件 资源引用页:

    Cocos2D-X游戏开发技术精解

    资源名称:Cocos2D-X游戏开发技术精解内容简介:Cocos2D-X是一款支持多平台的 2D手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 《Cocos2D-X...

    【cocos2d-x IOS游戏开发-捕鱼达人9-13】鱼群产生

    9、【cocos2d-x IOS游戏开发-捕鱼达人9】鱼与动画 资源引用页: 10、【cocos2d-x IOS游戏开发-捕鱼达人10】鱼的产生和移动 资源引用页: 11、【cocos2d-x IOS游戏开发-捕鱼达人11】鱼的产生和移动:完善 资源引用页...

    Cocos2D-X游戏开发技术精解.pdf

    《Cocos2D-X游戏开发技术精解》详细介绍如何使用Cocos2D-X引擎开发自己的移动平台游戏。全书共15章,主要内容包括:Cocos2D-X引擎简介;如何建立跨平台的开发环境;引擎的核心模块——渲染框架;如何实现动态画面和...

    cocos2d-x项目ios-android版接入微信分享功能

    公司需要,历经一周,终于把cocos2d-x项目接入微信分享功能搞定了,含android版及ios版接入。 功能实现:1.截屏并分享截屏图片到微信;2.网页链接分享到微信. 局限:cocos2d-x项目. 方便:截屏分享和链接分享就只需...

    cocos2d-x3D扩展3DToolKitforcocos2d-x.zip

    注意:如果你按下面方法成功编译了Demo工程,但是运行的时候崩溃,可能是由于cocos2d-x 2.2的一个bug造成的,解决办法看这里:https://github.com/wantnon2/3DToolKit-for-cocos2dx/issues/1 编译运行Demo...

    一个Cocos2D-X的ios游戏源码

    一个老外写的Cocos2D-X的ios游戏源码

    cocos2d-x-2.0中CCScrollView的使用Demo

    cocos2d-x-2.0中CCScrollView的使用Demo

    Cocos2d-x Game Development Essentials 书籍

    Cocos2d-x is an amazing open source game engine that allows developers to exploit their existing C++, Lua, and JavaScript knowledge for cross-platform deployment into iOS, Android, Windows Phone, ...

    Cocos2d-X案例开发大全

    资源名称:Cocos2d-X案例开发大全内容简介:《Cocos2d-X案例开发大全》包括大量基于Cocos2d-X开发的游戏案例,详细讲解了基于Cocos2d-X游戏引擎在Android及iOS平台下进行游戏开发的思路,能够快速帮助读者提升利用...

    教你用Cocos2D-X开发跨平台移动应用

    Cocos2d-x源于Cocos2d,是一款开源游戏引擎项目,是一款基于对原有iOS平台cocos2d重写为C++的开源代码,封装了OpenGL,Box2d,LibCurl,LibPng等开源的跨平台代码。由于基于C++和STL特点使其广泛应用于游戏开发、移动...

    cocos2d-x-3.13.1 spine3.6.zip

    cocos 3.13.1 更新了spine3.6 安卓编译通过 ios未测试

    cocos2d-x 3.3 iOS平台贪食蛇逻辑源码

    cocos2d-x 3.3 iOS平台贪食蛇逻辑源码,实现了主体业务逻辑,边界碰撞判断,食物碰撞判断,代码中包含大量的中文注释,适用于初学cocos2d-x ios平台开发

    Cocos2d-x高级开发教程

    Cocos2d-x项目可以很容易地建立和运行在iOS,Android,黑莓Blackberry等操作系统中。Cocos2d-x还支持Windows、Mac和Linux等桌面操作系统,因此,开发者编写的源代码很容易在桌面操作系统中编辑和调试。

    cocos2d-x 2012-03-31开发者大会演讲稿PDF(3)

    cocos2d-x 2012-03-31开发者大会演讲稿PDF(3)- x86架构上基于cocos2d-x的游戏开发与优化.pdf

    斗地主 cocos2d-x 3

    斗地主 cocos2d-x 3 system:iOS

    cocos2d-x手机游戏开发 跨iOS、Android和沃Phone平台

    cocos2d-x手机游戏开发 跨iOS、Android和沃Phone平台

    cocos2d-x显示相册,拍照图片

    cocos2d-x实现ios打开相册,拍照并显示图片,自动保存图片。附上ios工程源码。<支持ios6.0>

Global site tag (gtag.js) - Google Analytics