индикатор выполнения cocos2d - PullRequest
       3

индикатор выполнения cocos2d

1 голос
/ 25 октября 2010

Привет всем,

Я разрабатываю игру-головоломку для iPhone с использованием cocos2d. Мне нужен индикатор выполнения (например, индикатор uiprogress), чтобы показать время прохождения игры. Но я не могу найти хорошего примера...

Может кто-нибудь сказать мне путь ???

Ответы [ 2 ]

9 голосов
/ 27 октября 2010

хорошо .... я получаю лучшее решение ... вот мой код

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 ..

спасибо

1 голос
/ 26 октября 2010

Вы можете использовать CCSprite, для которого вы устанавливаете ширину, используя

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

Вам нужно будет вручную вычислить необходимую ширину, процент и коэффициент X, но это довольно просто. Я сделал мою реализацию hp bar fiend следующим образом:

-(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.
}

self - это объект Fiend, а hpBar - простой CCSprite с привязкой ccp (0,0).

Вы не хотите, чтобы ваш индикатор выполнения растягивался, но вместо этого вы должны будете маскировать его чем-то и обновлять его положение вместо scaleX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...