cocos2dx CCControlButton设置字体大小报错

#0  0x779b26a8 in std::_List_iterator<cocos2d::VolatileTexture*>::operator++ (this=0x77e83934) at D:/android-ndk-r9d/sources/cxx-stl/gnu-libstdc++/4.6/include/bits/stl_list.h:154
#1  0x779b19dc in std::list<cocos2d::VolatileTexture*, std::allocator<cocos2d::VolatileTexture*> >::remove (this=0x77d3303c, __value=@0x77e83954) at D:/android-ndk-r9d/sources/cxx-stl/gnu-libstdc++/4.6/include/bits/list.tcc:248
#2  0x779b0a7c in cocos2d::VolatileTexture::~VolatileTexture (this=0x7bbfbbe0, __in_chrg=<optimized out>) at D:/cocos2dx/androiddev/cocos2dx/textures/CCTextureCache.cpp:733
#3  0x779b0f8c in cocos2d::VolatileTexture::removeTexture (t=0x7bbfbb88) at D:/cocos2dx/androiddev/cocos2dx/textures/CCTextureCache.cpp:839
#4  0x779a93e4 in cocos2d::CCTexture2D::~CCTexture2D (this=0x7bbfbb88, __in_chrg=<optimized out>) at D:/cocos2dx/androiddev/cocos2dx/textures/CCTexture2D.cpp:80
#5  0x779a948c in cocos2d::CCTexture2D::~CCTexture2D (this=0x7bbfbb88, __in_chrg=<optimized out>) at D:/cocos2dx/androiddev/cocos2dx/textures/CCTexture2D.cpp:90
#6  0x77921388 in cocos2d::CCObject::release (this=0x7bbfbb88) at D:/cocos2dx/androiddev/cocos2dx/cocoa/CCObject.cpp:86
#7  0x77991dc8 in cocos2d::CCSprite::setTexture (this=0x7bbfb8f0, texture=0x7bbfdfb0) at D:/cocos2dx/androiddev/cocos2dx/sprite_nodes/CCSprite.cpp:1104
#8  0x7794837c in cocos2d::CCLabelTTF::updateTexture (this=0x7bbfb8f0) at D:/cocos2dx/androiddev/cocos2dx/label_nodes/CCLabelTTF.cpp:347
#9  0x77947fb4 in cocos2d::CCLabelTTF::setFontSize (this=0x7bbfb8f0, fontSize=25) at D:/cocos2dx/androiddev/cocos2dx/label_nodes/CCLabelTTF.cpp:294
#10 0x778b60b8 in cocos2d::extension::CCControlButton::setTitleTTFSizeForState (this=0x7bbf7da8, size=25, state=1) at D:/cocos2dx/androiddev/extensions/GUI/CCControlExtension/CCControlButton.cpp:472
#11 0x778a1e38 in cocos2d::extension::CCControlButtonLoader::onHandlePropTypeFloatScale (this=0x78fca350, pNode=0x7bbf7da8, pParent=0x79042b98, pPropertyName=0x79062570, pFloatScale=25, pCCBReader=0x7903bb50) at D:/cocos2dx/androiddev/extensions/CCBReader/CCControlButtonLoader.cpp:59
#12 0x778a52e8 in cocos2d::extension::CCNodeLoader::parseProperties (this=0x78fca350, pNode=0x7bbf7da8, pParent=0x79042b98, pCCBReader=0x7903bb50) at D:/cocos2dx/androiddev/extensions/CCBReader/CCNodeLoader.cpp:144
#13 0x7789f2b4 in cocos2d::extension::CCBReader::readNodeGraph (this=0x7903bb50, pParent=0x79042b98) at D:/cocos2dx/androiddev/extensions/CCBReader/CCBReader.cpp:526
#14 0x7789f5b8 in cocos2d::extension::CCBReader::readNodeGraph (this=0x7903bb50, pParent=0x0) at D:/cocos2dx/androiddev/extensions/CCBReader/CCBReader.cpp:586
#15 0x7789fc04 in cocos2d::extension::CCBReader::readNodeGraph (this=0x7903bb50) at D:/cocos2dx/androiddev/extensions/CCBReader/CCBReader.cpp:689
#16 0x7789e884 in cocos2d::extension::CCBReader::readFileWithCleanUp (this=0x7903bb50, bCleanUp=true) at D:/cocos2dx/androiddev/extensions/CCBReader/CCBReader.cpp:323
#17 0x7789e33c in cocos2d::extension::CCBReader::readNodeGraphFromData (this=0x7903bb50, pData=0x7bd31d88, pOwner=0x0, parentSize=..., ppAnimationManager=0x0) at D:/cocos2dx/androiddev/extensions/CCBReader/CCBReader.cpp:230

2.0.4CCLabelTTF::updateTexture()有bug,以后的版本估计修复了

估计换成coco2dx2.2.2以上版本可解决,没试过新增处理如下:

ccFontDefinition CCLabelTTF::_prepareTextDefinition(bool adjustForResolution)
{
    ccFontDefinition texDef;
    
    if (adjustForResolution)
        texDef.m_fontSize       =  m_fFontSize * CC_CONTENT_SCALE_FACTOR();
    else
        texDef.m_fontSize       =  m_fFontSize;
    
    texDef.m_fontName       = *m_pFontName;
    texDef.m_alignment      =  m_hAlignment;
    texDef.m_vertAlignment  =  m_vAlignment;
    
    
    if (adjustForResolution)
        texDef.m_dimensions     =  CC_SIZE_POINTS_TO_PIXELS(m_tDimensions);
    else
        texDef.m_dimensions     =  m_tDimensions;
    
    
    // stroke
    if ( m_strokeEnabled )
    {
        texDef.m_stroke.m_strokeEnabled = true;
        texDef.m_stroke.m_strokeColor   = m_strokeColor;
        
        if (adjustForResolution)
            texDef.m_stroke.m_strokeSize = m_strokeSize * CC_CONTENT_SCALE_FACTOR();
        else
            texDef.m_stroke.m_strokeSize = m_strokeSize;
        
        
    }
    else
    {
        texDef.m_stroke.m_strokeEnabled = false;
    }
    
    
    // shadow
    if ( m_shadowEnabled )
    {
        texDef.m_shadow.m_shadowEnabled         = true;
        texDef.m_shadow.m_shadowBlur            = m_shadowBlur;
        texDef.m_shadow.m_shadowOpacity         = m_shadowOpacity;
        
        if (adjustForResolution)
            texDef.m_shadow.m_shadowOffset = CC_SIZE_POINTS_TO_PIXELS(m_shadowOffset);
        else
            texDef.m_shadow.m_shadowOffset = m_shadowOffset;
    }
    else
    {
        texDef.m_shadow.m_shadowEnabled = false;
    }
    
    // text tint
    texDef.m_fontFillColor = m_textFillColor;
    
    return texDef;
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值