Я использую 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);
Любая помощь будет оценена. Заранее спасибо.
str
создается в стеке и становится висячим указателем после возврата метода. Если только CCLabelTTF не скопирует строку. - person LearnCocos2D   schedule 08.11.2013