iOS 7.0中的CCLabelTTF隐形问题

时间:2013-11-08 09:53:28

标签: ipad ios7 cocos2d-x cclabelttf

我正在为我的游戏使用cocos2d-x 2.0.4。 CCLabelTTF适用于iOS 6中的设备和模拟器。但是当我在iOS 7.0中测试它时,它不起作用。 这是我的代码。

    int nScore = 10;
    char str[50];
    sprintf(str, "SCORE : %d", nScore);
    CCLabelTTF *lbl = CCLabelTTF::create(str, "Marker Felt", 50);
    lbl->setPosition(ccp(size.width*0.5, size.height*0.88));
    lbl->setColor(ccRED);
    this->addChild(lbl);

现在没有显示分数。但它在iOS 6中显示。 一个更奇怪的问题。 如果我改变上面这样的代码,它就可以了。

    CCLabelTTF *lbl = CCLabelTTF::create("SCORE", "Marker Felt", 50);
    lbl->setPosition(ccp(size.width*0.5, size.height*0.88));
    lbl->setColor(ccRED);
    this->addChild(lbl);

但如果我再次更改下面的代码,它就不起作用了。(不可见)

    CCLabelTTF *lbl = CCLabelTTF::create("Score", "Marker Felt", 50);
    lbl->setPosition(ccp(size.width*0.5, size.height*0.88));
    lbl->setColor(ccRED);
    this->addChild(lbl);

可能是区分大小写的问题。

最后,即使文本是大写,下面的代码也不会起作用。我只添加了10号。

    CCLabelTTF *lbl = CCLabelTTF::create("SCORE : 10", "Marker Felt", 50);
    lbl->setPosition(ccp(size.width*0.5, size.height*0.88));
    lbl->setColor(ccRED);
    this->addChild(lbl);

任何帮助都将不胜感激。 提前致谢。

2 个答案:

答案 0 :(得分:0)

我在使用cocos2d-x 2.1.3时遇到了同样的问题。我发现this链接指出问题是影响iOS 7中标签的错误。为了解决问题,您需要手动更新引擎或合并this拉取请求。

答案 1 :(得分:0)

升级你在3.0中修复的cocos2d-x版本如果你使用cocos2dx旧版本,那么改为 CCimage.mm 这个声明

CGContextRef context = CGBitmapContextCreate(data,dim.width,dim.height, 8,dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);

CGContextRef context = CGBitmapContextCreate(data, (size_t)dim.width, (size_t)dim.height, 8, (size_t)dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);