0

ゲームに 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 で表示されます。もう 1 つの奇妙な問題です。上記のコードをこのように変更すると、機能します。

    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);

どんな助けでも感謝します。前もって感謝します。

4

2 に答える 2

0

cocos2d-x 2.1.3 を使用しているときに、この同じ問題に遭遇しました。問題が iOS 7 のラベルに影響するバグであることを示すこのリンクを見つけました。問題を修正するには、エンジンを更新するか、このプル リクエストを手動でマージする必要があります。

于 2013-11-09T06:51:14.857 に答える
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);
于 2014-05-31T07:32:32.203 に答える