解决cocos2d-x pvr.ccz格式的图片有时无法读取的一个bug

本文介绍了一种解决pvr.ccz文件在Cocos2d-x中无法正确加载的方法。通过修改CCTexturePVR.cpp文件中的代码实现对PVR纹理格式的兼容性改进。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你发现在读取pvr.ccz的时候,明明路径是正确的,但就是无法加载显示成功,你可以尝试以下操作

打开CCTexturePVR.cpp,定位到bool CCTexturePVR::initWithContentsOfFile(const char* path)这个方法,
大概655行,将

if (! ((unpackPVRv2Data(pvrdata, pvrlen)  || unpackPVRv3Data(pvrdata, pvrlen)) && createGLTexture()) )
    {
        CC_SAFE_DELETE_ARRAY(pvrdata);
        this->release();
        return false;
    }

替换为:

bool f1 = unpackPVRv2Data(pvrdata, pvrlen);
    bool f2 = unpackPVRv3Data(pvrdata, pvrlen);
    bool f3 = createGLTexture();
    if (!(f1 || f2)  &&  f3)
    {
        CCLog("f1:%d,f2:%d,f3:%d", f1, f2, f3);
        CC_SAFE_DELETE_ARRAY(pvrdata);
        this->release();
        return false;
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值