2014-10-20 89 views
0

我正在研究需要游戏中的“日历”和日/夜周期的iOS游戏。我设想一个完整的“24小时”可能需要15分钟的实际时间(例如)。以前,我使用int计数器计时。iOS游戏世界的日历/时钟

如何有效地跟踪游戏世界的日历?

我想我至少可以使用天数计数器的时间,每次复位时,我可以增加一个day计数器,每7天,我可以增加一个week,等等。

或者可能值得使用类似epoch的系统,并转换为可读格式。

回答

0

如果你想24假小时需要15真正分钟,您可以将您的NSTimeInterval就像这样:

NSTimeInterval real = [[NSDate date] timeIntervalSince1970]; 
NSTimeInterval fake = real * 96.0; // There are 96 fake minutes for each real minute. 

你可以记录你的游戏世界中的启动时间NSUserDefaults和使用[[NSDate date] timeIntervalSinceDate:date]此偏移相反,如果你选择。

+0

你认为这个方法对伪造一个时代有什么好处吗?当用户开始游戏时,它可以从0开始,每个游戏循环都可以增加计数,并且我可以在需要时计算年/日/等等。 – helion3 2014-10-20 19:05:13

+0

如果您计算刻度而不是使用时钟,那么您将会受到处理器限制。这会导致您的游戏在不同系统负载下的不同处理器上以不同的速度运行。我建议使用你的时钟。 – 2014-10-20 19:30:17

+0

你的例子不会在几秒钟内? “考虑到这个时代在几秒钟内,每个真实秒数为96假”? – helion3 2014-10-20 23:32:55