diff --git a/simulators/ursina/entities/timer.py b/simulators/ursina/entities/timer.py index 573d7b03181b88ff0273e5d2ab7769d081f84d49..dd4906d68b6dce83c236bd6321e663d9ba199cf5 100644 --- a/simulators/ursina/entities/timer.py +++ b/simulators/ursina/entities/timer.py @@ -9,7 +9,7 @@ class Timer(Text): def __init__(self): # 创建一个文本对象来显示计时器的时间 - super().__init__(text='00:00', position=(-0.85, 0.49), font=UrsinaConfig.CN_FONT) + super().__init__(text='00:00', position=(0.65, -0.45), font=UrsinaConfig.CN_FONT) # 用来计时的变量 # self.start_time = time.time() self.reset() @@ -43,12 +43,21 @@ class Timer(Text): self.elapsed_time += (current_time - self.last_time) * evolve_dt * time_scale * 0.653 # datetime.timedelta(microseconds=1) 0:00:00.000001 # datetime.timedelta(milliseconds=1) 0:00:00.001000 - self.elapsed_time += self.elapsed_time_offset # 按区域取值 + # self.elapsed_time += self.elapsed_time_offset # 按区域取值 self.last_time = current_time hours, remainder = divmod(self.elapsed_time.seconds, 3600) minutes, seconds = divmod(remainder, 60) days = self.elapsed_time.days - self.text = f'{days}天, {hours:02d}:{minutes:02d}:{seconds:02d}' + years = days // 365 + days = days % 365 + if days > 1: + s_days = str(days).rjust(3, " ") + if days >= 20 or years >= 1: + self.text = f'{years}年{s_days}天' + else: + self.text = f'{days}天 {hours:02d}:{minutes:02d}:{seconds:02d}' + else: + self.text = f'{hours:02d}:{minutes:02d}:{seconds:02d}' if __name__ == '__main__':