全部,
我正在使用cocos2d在iPhone上开发一款益智游戏。我需要一个进度条(如uiprogress栏)来显示游戏进度时间。但是我找不到任何好的例子......
谁能告诉我的方式???
答案 0 :(得分: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];
在最新版本的cocos2d中有一个名为CCProgressTimer的类。
感谢
答案 1 :(得分:1)
您可以使用设置使用宽度的CCSprite
yourSprite.scaleX = 0.5 //This goes between 0.0 and 1.0.
您必须手动计算所需的宽度,百分比和scaleX-factor,但非常简单。我做了我的恶魔般的hp bar实现:
-(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是一个带有锚点ccp(0,0)的简单CCSprite。
你不希望你的进度条拉伸,而是移动,你必须用某些东西掩盖它并更新它的位置而不是scaleX。