Ipad iOS 7.0中的CCLabelTTF不可见问题

Ipad iOS 7.0中的CCLabelTTF不可见问题,ipad,ios7,cocos2d-x,cclabelttf,Ipad,Ios7,Cocos2d X,Cclabelttf,我在游戏中使用cocos2d-x2.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->setPosit

我在游戏中使用cocos2d-x2.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);
但如果我再次像下面那样更改此代码,它将不起作用。(不可见)

也许这是个区分大小写的问题

最后,即使文本是大写,下面的代码也不起作用。我只加了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);
任何帮助都将不胜感激。
提前谢谢

我在使用cocos2d-x2.1.3时遇到了同样的问题。我发现了一个链接,指出这个问题是一个影响iOS 7标签的bug。为了解决此问题,您需要更新引擎,或手动合并拉取请求。

升级cocos2d-x版本,它在3.0中已修复,如果您使用的是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);

可能的原因:在堆栈上创建了
str
变量,一旦方法返回,该变量将成为悬空指针。除非CCLabelTTF复制字符串。我曾尝试更新cocos2d-x引擎,但当我这样做时,出现了一些错误。您能告诉我如何手动更新引擎或合并请求吗?
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);