Как анимировать значение метки в cocos2d? - PullRequest
0 голосов
/ 16 марта 2010

Я играю в игровой автомат для iphone. Я использую cocos2d в качестве языка. Мне сильно мешает кодирование для метода, который оживит счёт в игре. Анимация выглядит как с FPS. Можете ли вы помочь мне сделать это? Анимация счета в cocos2d. Можете ли вы поделиться примером кода, который выглядит так, как мне нужно сейчас. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 14 июня 2012

Я сделал это следующим образом:

 _odd = _odd + _stage*value;
 [self schedule:@selector(pointAdder) interval:1.0/(3.0*_odd)];

и

- (void)pointAdder {
    if (_odd==0) {
        [self unschedule:@selector(pointAdder)];
        return;
    }
    else {
        int tmp = [_lblScore.string intValue];
        [_lblScore setString:[NSString stringWithFormat:@"%i",tmp+1]];
        _odd--;
    }
} 
0 голосов
/ 20 ноября 2010

Вот как я делаю свой счет. на самом деле он не анимирован, но если вы хотите, чтобы он был похож на fps, он сделает это Просто вызовите этот метод, когда ваша оценка изменится.

в вашем методе инициализации:

    // create and initialize the _scoreLabel
    _scoreLabel = [CCLabel  labelWithString:@" "
                            dimensions:CGSizeMake(labelSizes.width,labelSizes.height)
                            alignment:UITextAlignmentLeft
                            fontName:@"Helvetica"
                            fontSize:20.0];
    _scoreLabel.color = ccc3(255,255,255);
    _scoreLabel.position = ccp((labelSizes.width / 2), (winSize.height - (labelSizes.height / 2)));
    [self addChild:_scoreLabel z:1];

Это метод обновления счета:

-(void)updateScore {
    [_scoreLabel setString:[NSString stringWithFormat:@"Score: %d / %d", _score, _scoreToWin]];
}

Затем, чтобы обновить счет при изменении счета, назовите его так:

    // Then later to set the Score
    [self updateScore];
...