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

如何在打印3次消息后停止pygame.time.set_timer定时器?

解决方法

核心实现逻辑很简单:加一个计数器统计打印次数,次数达标后将定时器的间隔参数设为0即可停止事件推送。

  • 先定义一个初始值为0的全局计数变量,用来记录消息打印的次数
  • 每次触发print_message事件时,执行打印操作后给计数器加1
  • 当计数器数值达到3时,调用pygame.time.set_timer(print_message, 0),pygame就会停止推送该自定义事件,对应定时器直接失效

修改后的完整代码如下:

import pygame

pygame.init()

print_message = pygame.USEREVENT + 0
# 初始化打印计数器
print_count = 0
# 启动定时器,每1000毫秒发送一次print_message事件
pygame.time.set_timer(print_message, 1000)

while True:
    for event in pygame.event.get():
        if event.type == print_message: 
            print("stop now ")
            print_count += 1
            # 打印满3次就停止定时器
            if print_count >= 3:
                pygame.time.set_timer(print_message, 0)
                # 如果不需要继续运行主循环,也可以在这里加pygame.quit()和exit()直接退出程序

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:27:01