Cocos2d-x 2.0.4 在iPad iOS 4.3中JPG图片Alpha显示错误的解决办法

今天安装一个iOS 4.3的iPad的时候,突然发现游戏中所有的JPG图变得非常黑,实际上就是JPG变成了半透明的。之前都是在5.1以上系统上运行,所以没发现该问题。


看了下代码,发现是CCImage对JPG格式图片设置Alpha的时候错误了。


解决办法:

找到/libs/cocos2dx/platform/ios/CCImage.mm 文件


打开后,找到这段代码:

pImageinfo->hasAlpha = (info == kCGImageAlphaPremultipliedLast)
                            || (info == kCGImageAlphaPremultipliedFirst) 
                            || (info == kCGImageAlphaLast) 
                            || (info == kCGImageAlphaFirst);


替换成下面的:
pImageinfo->hasAlpha = ((info == kCGImageAlphaNoneSkipLast) ||
                             (info == kCGImageAlphaPremultipliedLast) ||
                             (info == kCGImageAlphaPremultipliedFirst) ||
                             (info == kCGImageAlphaLast) ||
                             (info == kCGImageAlphaFirst) ? YES : NO);

在运行下,看看是不是好了。


一般使用JPG主要是为了减少容量,所以大尺寸的背景图都会用JPG格式。


但是有一点要知道加载JPG的速度比加载PNG的速度要慢,所以什么地方用JPG,要权衡权衡。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值