Вы можете использовать CCSprite, для которого вы устанавливаете ширину, используя
yourSprite.scaleX = 0.5 //This goes between 0.0 and 1.0.
Вам нужно будет вручную вычислить необходимую ширину, процент и коэффициент X, но это довольно просто. Я сделал мою реализацию hp bar 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.
}
self - это объект Fiend, а hpBar - простой CCSprite с привязкой ccp (0,0).
Вы не хотите, чтобы ваш индикатор выполнения растягивался, но вместо этого вы должны будете маскировать его чем-то и обновлять его положение вместо scaleX.