2010-10-25 8 views
1

Salut à tous,cocos2d barre de progression

Je développe un jeu de puzzle dans l'iPhone en utilisant cocos2d.I besoin d'une barre de progression (comme barre de uiprogress) pour afficher le time.But de la progression du jeu je ne peux pas trouver un bon exemple ...

quelqu'un peut-il me dire le chemin ???

Répondre

9

bien .... j'obtenir une meilleure solution ... voici mon code

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]; 

il y a une classe appelée CCProgressTimer dans la dernière version de cocos2d ..

grâce

+0

Great répondre! Des remerciements supplémentaires pour l'incorporation de l'action CCProgressFromTo - n'aurait pas connu autrement. –

1

Vous pouvez utiliser un CCSprite que vous définissez la largeur de l'utilisation

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

Vous devez calculer la largeur requise, le pourcentage et scaleX facteur manuellement mais son assez simple. Je l'ai fait ma mise en œuvre de hp bar fiend comme ceci:

-(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. 
} 

auto est l'objet Fiend et hpBar est un simple CCSprite avec l'ancre ccp (0,0).

Vous ne voulez pas que votre barre de progression s'étire, mais déplacez-la à la place, vous devrez la masquer avec quelque chose et mettre à jour sa position au lieu de scaleX.