labelBMFont setString 异常

用cocostudio1.6 和cocos2d_x3.4 ,通过seekwidgetBytag从 ui里获取到一个LabelBMFont(自定义字体)控件,通过setString()设置文本会出现异常0xc00000005,
现在只能新建一个LabelBmFomt 对象加到找到的控件上,十分的不便。
有没有谁知道怎么破~

贴出代码看一下~

void GameMainPage::UpdateScore(cocos2d::ui::Widget * ui)
{
LabelBMFont * lab = (LabelBMFont*)Helper::seekWidgetByTag(ui,mScoreTag);
if (lab)
{
String * str_mScore = String::createWithFormat("%d",GameData::GetInstance()->getAimScore());
//lab->setString(str_mScore->getCString()); //这里异常
LabelBMFont * child= LabelBMFont::create(str_mScore->getCString(),“scorefont.fnt”,1);
child->setContentSize(Size(200,40));
lab->addChild(child);
lab->removeChildByTag(mScoreTag);
child->setTag(mScoreTag);
}
}

可能Tag相同冲突,你lab取到的控件是其它控件。你把LabelBMFont在编辑器中设置的TAG数字改成一个很大的数字如2015,试试看。如果还有疑问可以追问

应该不是的,我改了tag 而且试过seekwidgetbyName也是同样的问题

//lab->setString(str_mScore->getCString()); //这里异常
lab->setString(“testtttttttttttt”);
设置成一般字符串看看,有么有用。如果没有用。我 也无能为力。

改成用TextAtlas了