Инициализируйте целочисленную переменную, в которой будет сохранено значение обратного отсчета:
int count = 100;
Вы хотите сохранить метку (CCLabelBMFont и т. Д.) Для отображения этого значения счетчика. Я рекомендую Glyph Designer (или Hierro, если вы хотите что-то бесплатно) генерировать растровые изображения шрифтов, совместимые с 0 до 9 cocos2D, которые затем можно использовать в вашем CCLabelBMFont:
CCLabelBMFont* countLabel = [CCLabelBMFont labelWithString:@"0" fntFile:@"myFont.fnt"];
Далее, запланируйте одну функцию тиков, которая будет срабатывать каждую секунду:
[self schedule: @selector(tick:) interval:1];
Эта тиковая функция уменьшает счет на 1 при каждом вызове. Кроме того, добавьте условие, что, если count достигнет 0, он сам не будет распланирован:
-void tick:(ccTime) dt
{
count --; // decrement count by 1 each time this function is called
if (count == 0)
[self unschedule: @selector(tick:)];
}
И, наконец, в вашем основном цикле обновления (или даже в самой функции тиков после того, как вы уменьшили счетчик), вы можете обновлять и перерисовывать эту метку с самым последним значением каждый раз:
[countLabel setString:[NSString stringWithFormat:@"%i", count]];
Всего наилучшего.