前面的问题几乎涵盖了该主题,但是如果您想要完美,还需要注意一件事:不均匀的时间片,即持续时间不同的滴答声。
通常,您的tick()方法应接受当前时间和最后一次滴答的持续时间作为参数。(如果没有,那么您需要通过查询当前时间并记住最后一次滴答发生的时间来计算最后一次滴答的持续时间,以便可以从另一个中减去一个。)
因此,在每个刻度上,您都不应简单地将当前速度添加到您的头寸中。您应该在每个刻度上执行的操作是将当前速度乘以最后一个刻度的持续时间乘以您的位置。
这样,如果一个滴答声发生得非常快,而另一个滴答声需要很长时间才能完成,那么您的飞船的运动仍将是均匀的。



