gpt4 book ai didi

objective-c - 如何在cocos2d中制作并正确更新进度条?

转载 作者:太空狗 更新时间:2023-10-30 03:40:16 25 4
gpt4 key购买 nike

我有一款游戏使用进度条来通知玩家某些统计数据的等级。例如饥饿,当它从零开始并慢慢加到最大条时。当他吃东西时,饥饿感会减少。

我尝试将其实现为 progressBar,但它工作不正常,因为该条会双向扩展,而我需要它只在一侧增长。我也很难设置标准,因为它使用 Action 。

有什么简单的方法吗?

我有一个 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];

添加源。

最佳答案

在 cocos2d 2.0 之前,您应该可以使用类型为:kCCProgressTimerTypeHorizo​​ntalBarLR 的 CCProgressTimer。

CCProgressTimer* powerBar= [CCProgressTimer progressWithFile:@"fullbar.png"];
powerBar.type = kCCProgressTimerTypeHorizontalBarLR;
powerBar.percentage = 0; // (0 - 100)

要改变你的饥饿程度,只需设置你的酒吧的百分比属性。

已编辑:

好吧,cocos2d 2.0以后好像没有这种类型了。要获得从左到右的栏,您需要设置新的但有些困惑的 midpointbarChangeRate 属性 ( 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)

看看这些是否有帮助!

关于objective-c - 如何在cocos2d中制作并正确更新进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11912484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com