CCLabelBMFont Label需要很长时间才能加载!

时间:2011-06-29 08:19:53

标签: cocos2d-iphone

我有一个游戏。在游戏中有一个帮助文本。游戏菜单以滑入和滑出方式转换。就像点击“主菜单”上的“帮助”按钮一样,主菜单滑出并帮助菜单滑入。

现在我在加载“帮助菜单”时出现问题。帮助菜单包含滚动视图,初始化时会在滚动视图中加载帮助文本。帮助菜单中的文本是CCLabelBMFont标签。帮助文本有多行(最多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 个答案:

答案 0 :(得分:1)

我使用png图像解决了上述问题。并在我的博客中写下了一些步骤。请访问以下链接。

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

感谢所有试图帮助我并帮助我的人。快乐分享!!

答案 1 :(得分:0)

好吧,可能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];

这可能无济于事,但是我发布它的机率很大。祝你好运。