我有一个游戏,它使用进度条告知玩家玩家某些统计数据的等级。例如饥饿,当它从零开始并慢慢加起来达到最大值。当他吃东西时,饥饿减少了。
我尝试将其作为progressBar实现,但它的工作方式有误,因为条形图扩展了两种方式,我只需要将它扩展到一边。此外,我很难设置栏,因为它使用了操作。
有一种简单的方法吗?
我有一个Pet类,它有饥饿感(0-100)。我希望酒吧显示出饥饿感。
hungerBar = [CCSprite spriteWithFile:@"redbar.png"];
CCLabelTTF *hungerLabel = [CCLabelTTF labelWithString:@"Hunger:" fontName:@"Helvetica" fontSize:25];
[hungerLabel setColor:ccc3(255, 255, 255)];
// CGPoint temp = ccp(250, 300);
// hungerBar.position = temp;
// [self addChild:hungerBar];
CGPoint temp2 = ccp(250, 320);
[hungerLabel setPosition:temp2];
[self addChild:hungerLabel];
CCSprite *bar = [CCSprite spriteWithFile:@"redbar.png"];
powerBar= [CCProgressTimer progressWithSprite:bar];
powerBar.type = kCCProgressTimerTypeBar;
powerBar.position = ccp(-30, -10);
powerBar.anchorPoint = ccp(0, 0);
powerBar.percentage = 20; // (0 - 100)
[hungerLabel addChild:powerBar];
添加了来源。
答案 0 :(得分:15)
在cocos2d 2.0之前,您应该只能使用CCProgressTimer类型: kCCProgressTimerTypeHorizontalBarLR 。
CCProgressTimer* powerBar= [CCProgressTimer progressWithFile:@"fullbar.png"];
powerBar.type = kCCProgressTimerTypeHorizontalBarLR;
powerBar.percentage = 0; // (0 - 100)
要改变您的饥饿程度,只需设置酒吧的百分比属性。
<强>编辑:强>
好的,使用cocos2d 2.0,似乎这种类型不再可用。要获得从左到右的栏,您需要设置新的但有些令人困惑的中点和 barChangeRate 属性(cocos2D 2.0 documentation link):
CCProgressTimer* powerBar= [CCProgressTimer progressWithSprite:[CCSprite spriteWithFile:@"fullbar.png"]];
powerBar.type = kCCProgressTimerTypeBar;
powerBar.midpoint = ccp(0,0); // starts from left
powerBar.barChangeRate = ccp(1,0); // grow only in the "x"-horizontal direction
powerBar.percentage = 0; // (0 - 100)
看看这些是否有帮助!