2012-08-11 2 views
6

진행률 표시 줄을 사용하여 플레이어에게 플레이어의 특정 통계 수준을 플레이어에게 알리는 게임이 있습니다. 예를 들어 굶주림은 0에서 시작하여 천천히 최대 막대까지 증가합니다. 그가 먹을 때 기아가 줄어든다.cocos2d의 진행률 막대를 만들고 올바르게 업데이트하는 방법은 무엇입니까?

나는 progressBar로 구현을 시도했지만 바는 두 가지 방식으로 확장되므로 잘못 작동합니다. 한 면만 확장해야합니다. 또한 작업을 사용하기 때문에 막대를 설정하는 데 어려움이있었습니다.

쉬운 방법이 있나요?

나는 애완 동물 클래스가 있으며 int 기아 (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 이전에는 kCCProgressTimerTypeHorizontalBarLR 유형의 CCProgressTimer를 사용할 수 있어야합니다.

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) 

을 참조하십시오!

+0

이것은 Cocos2d 2에서 작동하지 않습니다.이 같은 메소드는 없습니다. 스프라이트를 사용한 메소드 만 있습니다. 나는 그것을 만들었지 만, 바의 성장은 두 가지 방법 모두에 있습니다. 또한 cocos2d 2에는 이러한 유형이 없습니다. 다음 유형 만 있습니다. - CCSprite * bar = [CCSprite spriteWithFile : @ "redbar.png"]; powerBar = [CCProgressTimer progressWithSprite : bar]; powerBar.type = kCCProgressTimerTypeBar; – Dvole

+0

그래, 분명히 그들은 2.0에서 유형을 제거했습니다. 내 편집 된 답변보기 :) –

+0

"수정 된 코드"가 작동합니다. – kamankily

관련 문제