我pygame.time.set_timer(event,milliseconds)
用来将 2 个 USEREVENT 添加到队列中;USEREVENT+1 每秒(1000 毫秒),USEREVENT 每 5 毫秒。这应该意味着我得到的每个 USEREVENT+1 都会得到 200 个 USEREVENT。我只收到 100 个事件。
似乎 10ms 是计时器可以有的最小延迟。我正在尝试使用它来控制我的 FPS,并且 USEREVENT+1 发出信号以通过滴答声“更新”游戏逻辑,但是如果计时器的上限为 10 毫秒,那么这意味着我不能超过100 帧/秒。有谁知道为什么?
另外,对于加分,毫秒必须是整数,这意味着我只能有一个 1000 的倍数的 fps(例如 10、20、25、50、100)。你认为我怎样才能用这种方法达到 60fps?最初,我一直在睡觉直到下一帧的时间,但我希望它对 CPU 有好处,所以我想在滴答声之间闲置。这就是我使用 pygame.time.set_timer 的原因,因为 pygame.event.wait 在队列中出现事件之前一直处于空闲状态。