내 게임에 타이머를 추가하려고 노력 중이므로 레벨 재생에 얼마나 오래 머물렀는 지 알 수 있습니다.아이폰 게임에서 레벨을위한 타이머 만들기
bool showTimer = YES;
NSDate startDate;
UILabel timerLabel; // initialized in viewDidLoad
-(void) showElapsedTime: (NSTimer *) timer {
if (showTimer) {
NSTimeInterval timeSinceStart;
if(!startDate) {
startDate = [NSDate date];
}
timeSinceStart = [[NSDate date] timeIntervalSinceDate:startDate];
NSString *intervalString = [NSString stringWithFormat:@"%.0f",timeSinceStart];
timerLabel.text = intervalString;
if(stopTimer) {//base case
[timer invalidate];
}
}
}
- (void) startPolling {
[NSTimer scheduledTimerWithTimeInterval:0.1f target:self selector:@selector(showElapsedTime:) userInfo:nil repeats:YES];
}
내가있는 viewDidLoad에서 startPolling 방법을 시작 : 필자 내가 타이머에게 다음과 같은 방법을 초기화 할 수 있다는 것을 알아 냈다. 앱을 실행하면 타이머가 표시되고 시간이 추적되지만 앱을 종료하고 다시 입력하면 타이머가 일시 중지되지 않습니다. 또한 다른보기 (옵션 메뉴와 같은)로 이동 한 다음이보기로 돌아 오는 것을 처리하는 방법을 잘 모르겠습니다. 나는 NSDefaults와 NSCoding을 이해하고 모든 레벨에 대한 plist에 별도의 키 - 값 쌍을 유지하면서 코딩 객체로 타이머에 현재 값을 저장할 수있는 방법을 알았지 만 성가신 것 같습니다.
사용자가 일정 기간 동안 머문 시간을 추적하는 더 좋은 방법이 있습니까?