在Cocos2D中创建标签的最佳方法是什么?它会不断更改文本?

时间:2011-07-25 11:25:33

标签: cocos2d-iphone

我知道更改CCLabel的文本非常耗时,因此无法在每一帧完成。那我怎么能实现这个呢?

2 个答案:

答案 0 :(得分:2)

我的理解是,当您必须定期更新关卡(分数等)时,一般建议是使用CCLablBMFont。 CCLabelBMFont使用位图字体文件,因此它只会绘制一次屏幕,然后可以根据需要替换数字或字母。你真的不应该使用CCLabelTTF而不是完全静态的文本,所以CCLabelBMFont将是你的选择。

*编辑

在您担心图像之前,您需要确保在AppDelagate中取消注释这些行:

//if( ! [director enableRetinaDisplay:YES] )
    //CCLOG(@"Retina Display Not supported");

然后当您创建.fnt和.png时,请确保创建第二个.fnt和.png,这是您创建的原始字体的两倍大,并在名称后附加-hd。所以你的文件应该看起来像“original.fnt”“original.png”“original-hd.fnt”“original-hd.png”

答案 1 :(得分:1)

并非所有 都不好。如果你有一个标签而且你真的需要每一帧都改变它,我会继续尝试。您可能没有注意到任何问题。但是,如果你注意到减速,你可以(a)使用更快的CCLabelAtlas,或者(b)设置一个计数器来跟踪自上次更新以来已经过了多少帧,所以你'每2或3或5帧只做一次。