COCOS2D лучший способ изменить уровень, когда счет будет достигнут - PullRequest
0 голосов
/ 02 октября 2011

У меня есть некоторые трудности с изменением уровня только один раз, когда игрок набрал определенное количество очков во время игры. Он постоянно меняется каждый раз, когда игроки получают новый счет, что очень раздражает.

//Change the level
        if(score >= 600){

                level = level+1;
                [levellabel setString:[NSString stringWithFormat:@"%d",level]];
                id ScaleUp = [CCScaleTo actionWithDuration:0.3 scale:14.0 ];
                id ScaleDown = [CCScaleTo actionWithDuration:0.3 scale:1.0 ];
                [levellabel runAction:[CCSequence actions:ScaleUp, ScaleDown, nil] ];
        }

Я также пытался установить для оператора if значение if (оценка> = 600 && оценка <1000), а затем использовать новое выражение if, говорящее ему об изменении уровня еще раз, когда счет> = 2000, но если я ничего не делаю похоже, что случилось.

Что я делаю не так?

1 Ответ

0 голосов
/ 03 октября 2011

Следующее, если у вас есть контроль над уровнями и максимальный предел для уровней ..

-(void)addLevel
    {
    level = level+1;
                    [levellabel setString:[NSString stringWithFormat:@"%d",level]];
                    id ScaleUp = [CCScaleTo actionWithDuration:0.3 scale:14.0 ];
                    id ScaleDown = [CCScaleTo actionWithDuration:0.3 scale:1.0 ];
                    [levellabel runAction:[CCSequence actions:ScaleUp, ScaleDown, nil] ];
    }
    -(void)newScore
    {  
       int target = 0;
       switch(level):
       {
       case 1:
          target = 600;
       break;
       case 2:
          target = 1000;
       break;
       case 3:
           target = 2000;
       break;
       }

       if(score>=target)
       [self addLevel];
    }

, если оно бесконечно и следует стандартной формуле, в этом примере, увеличивайте уровень для каждой 1000 очков, должно быть:

-(void)addScore
{
   int nxtLvl = level +1;

   if(score>=1000*nxtLvl)
   [self addLevel];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...