Я кодирую игру в Spritekit
. После того, как пользователь проиграет мою игру, я хочу создать способ для жизни пользователя, чтобы пополнить его через 30 минут. Я создал целое число (называемое Lives), и каждый раз, когда пользователь проигрывает игру, он вычитает 1 из целого числа Я просто не знаю, t знает, как пополнить жизнь пользователя через 30 минут. Я написал следующий код в классе помощников NSObject
, но он не работает.Пополнение запасов за 30 минут
-(void)ReplenishLives{
NSDate *now = [NSDate date];
NSTimeInterval oldDateTimeInterval = [now timeIntervalSinceReferenceDate];
NSTimeInterval thirtyMinutes = 60 * 30;
if (oldDateTimeInterval > thirtyMinutes) {
Lives = 5;
}
}
-(void)CheckTime{
LifeTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(ReplenishLives) userInfo:nil repeats:YES];
}
Вам необходимо сохранить исходный (старый) oldDateTimeInterval. В вашей текущей форме вы вычитаете текущее «старое» с текущего времени. Изучите использование NSUserDefaults, чтобы сохранить начальное значение времени и сравнить его с текущим. – sangony