Таймер обратного отсчета - PullRequest
0 голосов
/ 25 мая 2010

У меня настроен таймер, и он вызывается, когда игрок находится в фазе своего хода. У меня также есть множитель, который медленно уменьшается, когда игрок совершает действия.

по какой-то странной причине моя переменная mult возвращает значения мусора. Я инициализировал его значением 1 в операторе onLoad, но, похоже, проблема все еще остается. каждый раз, когда таймер срабатывает, значение немедленно отображается в операторе NsLog как очень большое отрицательное число. когда я набираю очки, это превращается в действительно большое положительное число.

-(void) Timerbar:(NSTimer *)barTimer {


 if(!waitForPlayer) {

  [barTimer invalidate];

 }
 if(mult > 0.0) {
  mult -= 0.01;
  if(mult < 0) { 
   mult = 0;
  }
 } 
 power =  (mult * 10) / pwrBarMaxWidth;
 pwrBarWidth = (int)power  % limit;
 NSLog(@"%d", mult);
}

Есть ли где-нибудь синтаксическая ошибка?

Edit- Оказывается, я использовал неправильный идентификатор для отображения числа с плавающей запятой.

1 Ответ

4 голосов
/ 25 мая 2010

Предполагая, что mult это число с плавающей запятой или двойное число, вы неправильно используете формат печати NSLog. Вы хотите

NSLog(@"%f", mult);

Вот отличная ссылка:

http://www.cocoadev.com/index.pl?NSLog

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