如何在cocos2d中创建带有滚动号的分数标签?

时间:2014-09-12 20:01:01

标签: cocos2d-iphone cclabelttf

我正在尝试使用CCLabelTTF创建一个分数,以在屏幕上显示分数。 但我会显示得分滚动数字,直到他们到达最终得分。 我在更新方法中做到了这一点:

    if(currentScore < finalScore)
    {
    currentScore ++;
    [labelScore setString:[NSString stringWithFormat:@"%d", currentScore]];
     }

当我得分很小时,这是完美的,但当我有一个像10.000这样的大数字时,我必须等待很多才能看到最终得分。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在更新方法中更新分数标签意味着您的标签每秒更新60次,对于大增量可能有点慢。有两种方法可以解决这个问题,或者增加增量值,即对于较大的数字增加大于1,或者根据所需的增量或两者来计划选择器。 确定您希望分数标签更新的持续时间,然后安排具有适当间隔的选择器,以使用户等待相同的时间量而不管分数增量。 例如: -

float waitDuration = 2.0f;
float increment = finalScore - currentScore;
float interval  = 2/increment;
[self schedule:@selector(updateScoreLabel) interval:interval repeat:increment delay:0];

其中,

-(void) updateScoreLabel{
     [labelScore setString:[NSString stringWithFormat:@"%d", currentScore++]];
}