2010-10-25 4 views
1

HI все,cocos2d прогресс бар

я занимаюсь разработкой игры головоломки в iPhone с помощью cocos2d.I нужен прогресс бар (как uiprogress бар), чтобы показать прогресс игры time.But я не могу найти хороший пример ...

может кто-нибудь сказать мне дорогу ???

ответ

9

хорошо .... я получить лучшее решение ... вот мой код

CCProgressFromTo *to1 = [CCProgressFromTo actionWithDuration:levelTimeLimit from:100 to:0]; 
    timeBar = [CCProgressTimer progressWithFile:@"Bar.png"]; 
    timeBar.type = kCCProgressTimerTypeHorizontalBarLR; 
    [timeBar setPosition:ccp(384,84)]; 
    [self addChild:timeBar]; 
    [timeBar runAction:to1]; 

есть класс называется CCProgressTimer в последней версии cocos2d ..

благодаря

+0

Great ответ! Дополнительная благодарность за включение действия CCProgressFromTo - об этом не было бы известно. –

1

Вы можете использовать CCSprite, который вы установили ширину с помощью

yourSprite.scaleX = 0.5 //This goes between 0.0 and 1.0. 

Вы должны рассчитать необходимую ширину, процент и Scalex-фактор вручную, но его довольно просто. Я сделал мой FIEND реализацию л.с бара вроде этого:

-(void)decreaseHp:(float)hpIn { 
    self.hp = self.hp-hpIn; //Decrease HP by specified amount. 
    float p = (self.hp*100)/self.maxHp; //Calculate new hp percentage. 
    self.hpBar.scaleX = p/100; //Convert percentage to a factor between 0 and 1. 
} 

сам является объектом Fiend и hpBar является простым CCSprite якорного CCP (0,0).

Вы не хотите, чтобы вы продвигались по экрану, но вместо этого перемещаетесь, вам придется замаскировать его чем-то и обновить его положение вместо scaleX.

Смежные вопросы