2010-10-25 63 views
1

大家好,cocos2d的進度條

我使用cocos2d.I需要一個進度條(如uiprogress吧),展示遊戲中的進展時間。但在開發iPhone上的益智遊戲我找不到任何很好的例子...

任何人都可以告訴我的方式?

回答

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

大回答!另外感謝合併CCProgressFromTo操作 - 否則不會知道它。 – 2011-12-26 08:49:22

1

您可以使用您設置使用

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

的寬度CCSprite你將不得不手動,但它相當簡單計算所需的寬度,百分比屬性,以及scaleX因素。我做了我的惡魔馬力酒吧實現這樣的:

-(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。