ゲームを作成しています。ユーザーがゲームを終了すると、スコアが表示されます。インタラクティブにするために、スコアを 0 からスコアまで数えています。
ユーザーは 10 ポイントまたは 100,000 ポイントを獲得できるので、姫を長く待ちたくないので、スコアに関係なく合計時間が固定されるようにしたいと考えています。
そうしましたが、タイマー間隔は間隔値の影響を受けないようです。
問題はどこだ ?
///score timer
-(void)startScoreCountTimer:(NSNumber*)score{
finishedGameFinalScore = [score integerValue];
CGFloat finishedGameFinalScoreAsFloat = [score floatValue];
CGFloat interval = 2.0f/finishedGameFinalScoreAsFloat;
NSLog(@"interval = %f",interval);
NSDate *fireDate = [NSDate dateWithTimeIntervalSinceNow:0];
timer = [[NSTimer alloc] initWithFireDate:fireDate
interval:interval
target:self
selector:@selector(timerMethod:)
userInfo:nil
repeats:YES];
NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
[runLoop addTimer:timer forMode:NSDefaultRunLoopMode];
}
- (void)timerMethod:(NSTimer*)theTimer{
scoreCount++;
finalScoreLabel.text = [NSString stringWithFormat:@"%i",scoreCount];
if (scoreCount == finishedGameFinalScore ||finishedGameFinalScore ==0) {
[theTimer invalidate];
scoreCount=0;
[self updateMedalsBoard];
}
}