You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python time库能否实现循环定时终止?轻量游戏开发需求咨询

使用Python time库实现定时终止游戏循环的方案

当然可以用time库实现这个需求,轻量游戏场景下完全够用,以下是两种简单可靠的实现方式:

方法一:基于time.time()的实时时长检查

time.time()会返回当前时间的时间戳(从1970年1月1日到现在的秒数),我们可以在游戏启动时记录起始时间戳,每次循环迭代时计算已运行时长,达到指定时间就终止循环。

示例代码:

import time

def run_game():
    # 记录游戏启动时间
    start_timestamp = time.time()
    # 游戏主循环标志
    is_running = True

    while is_running:
        # ----------------------
        # 这里编写你的游戏逻辑代码
        print("游戏正在运行...")
        time.sleep(0.3)  # 模拟游戏帧间隔,可根据实际调整
        # ----------------------

        # 计算已运行时长(秒)
        elapsed = time.time() - start_timestamp
        # 达到1分钟(60秒)时终止循环
        if elapsed >= 60:
            is_running = False

    # 循环结束后输出结果
    print(f"游戏自动终止,总运行时长:{elapsed:.2f}秒")
    # 这里可以添加结果统计、得分输出等逻辑

if __name__ == "__main__":
    run_game()

方法二:使用高精度计时器time.perf_counter()

如果需要更精确的计时(比如对时长要求到毫秒级),可以用time.perf_counter(),它专门用于测量短时间间隔,精度比time.time()更高,用法和上面完全一致:

import time

def run_game():
    start_time = time.perf_counter()
    is_running = True

    while is_running:
        # 游戏逻辑代码
        print("游戏运行中...")
        time.sleep(0.3)

        elapsed = time.perf_counter() - start_time
        if elapsed >= 60:
            is_running = False

    print(f"游戏终止,精确运行时长:{elapsed:.3f}秒")

if __name__ == "__main__":
    run_game()

注意事项

  • 这种在循环内检查时长的方式,不会影响轻量游戏的性能,因为检查操作的开销可以忽略不计。
  • 如果你的游戏循环本身有固定的帧率(比如每秒30帧),可以把时长检查放在每帧的末尾,确保每次迭代都能及时判断是否到时间。

内容的提问来源于stack exchange,提问作者Doggen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 16:51:37