Objective c cocos2d进度条

Objective c cocos2d进度条,objective-c,cocos2d-iphone,Objective C,Cocos2d Iphone,大家好 我正在用cocos2d在iPhone上开发一款益智游戏。我需要一个进度条(比如uiprogress条)来显示游戏的进度时间。但是我找不到任何好的例子 有人能告诉我怎么走吗?你可以使用一个你设置了使用宽度的CCSprite yourSprite.scaleX = 0.5 //This goes between 0.0 and 1.0. 您必须手动计算所需的宽度、百分比和scaleX因子,但这非常简单。我的fiend hp bar实现如下: -(void)decreaseHp:(float

大家好

我正在用cocos2d在iPhone上开发一款益智游戏。我需要一个进度条(比如uiprogress条)来显示游戏的进度时间。但是我找不到任何好的例子


有人能告诉我怎么走吗?

你可以使用一个你设置了使用宽度的CCSprite

yourSprite.scaleX = 0.5 //This goes between 0.0 and 1.0.
您必须手动计算所需的宽度、百分比和scaleX因子,但这非常简单。我的fiend 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.
}
赛尔夫是恶魔的目标,hpBar是一个简单的CCSprite,锚定ccp(0,0)


你不想让进度条拉伸,而是移动,你必须用一些东西来遮罩它,并更新它的位置,而不是scaleX。

你可以使用一个CCSprite来设置使用的宽度

yourSprite.scaleX = 0.5 //This goes between 0.0 and 1.0.
您必须手动计算所需的宽度、百分比和scaleX因子,但这非常简单。我的fiend 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.
}
赛尔夫是恶魔的目标,hpBar是一个简单的CCSprite,锚定ccp(0,0)


你不想让进度条拉伸,而是移动,你必须用一些东西来屏蔽它,并更新它的位置,而不是scaleX。

好吧……我得到了一个更好的解决方案……这是我的代码

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的类


谢谢

嗯……我得到了一个更好的解决方案……这是我的代码

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的类


谢谢

回答得好!另外感谢您将CCProgressFromToAction整合到一起,否则您不会知道的。回答得很好!另外感谢您将CCProgressFromTo纳入行动计划,否则您不会知道的。