CCLabelBMFont Label долго загружается! - PullRequest
1 голос
/ 29 июня 2011

У меня есть игра.В игре есть текст помощи.Игровые меню переходят на скользящее движение.Например, если вы нажмете кнопку «Справка» в «Главном меню», главное меню выдвинется, а меню справки -.

Теперь у меня возникла проблема при загрузке «Меню справки».Меню справки состоит из вида прокрутки, а тексты справки загружаются в вид прокрутки при его инициализации.Текст в меню справки - CCLabelBMFont Label.Текст справки состоит из нескольких строк (до 146).Моя проблема в том, что, когда я нажимаю на меню «Справка», на ввод слайда уходит до 10 секунд.Я знаю, что это связано с длинным текстом справки, который создается с помощью CCLabelBMFont.

Есть ли какое-либо решение в этом случае.Когда я уменьшаю количество строк справки до 50, все работает нормально.Я непосредственно создал ярлык со следующим кодом в HelpMenuLayer.m


CCLabelBMFont *contentLabel = [[CCLabelBMFont alloc] initWithString:@"Objective:"
                "\n........."
                      .
              .
              .
                                                                fntFile:"fontFile.fnt"];
        contentLabel.position = ccp(0.0f, 0.0f);
                [scrollview addChild:contentLabel]
                [contentLabel release];

Любые комментарии или предложения очень ценятся.Заранее спасибо.Мне действительно нужна помощь: (

Ответы [ 2 ]

1 голос
/ 30 июня 2011

Я решил вышеупомянутую проблему, используя изображение PNG. И записал в некоторых шагах в следующем моем блоге. Пожалуйста, перейдите по следующей ссылке.

http://learninprogram.blogspot.com/2011/06/solution-to-cclabelbmfont-bitmap-fonts.html

Спасибо всем, кто пытался мне помочь и помог мне на самом деле. Счастливого обмена !!

0 голосов
/ 29 июня 2011

Ну, это, вероятно, UIKit вызывает медлительность. По моему опыту, Cocos2D и UIKit не очень хорошо играют вместе.

Во всяком случае, я не знаю точно, что не так. Вот мое использование CCLabelBMFont (который не использует UIKit, но он должен быть таким же):

CCLabelBMFont *multiplierLabel = [CCLabelBMFont labelWithString:[NSString stringWithFormat:@"%i", [player scoreMultiplier]] fntFile:@"projectOneTitle1.fnt"];
multiplierLabel.position = ccp(winSize.width*0.9, winSize.height*0.95);
multiplierLabel.tag = 9845;
[self addChild:multiplierLabel];

Это, вероятно, не поможет, но в случае, если это так, я публикую это. Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...