在Pygame中,可以使用pygame.time.set_timer()
函数为不同对象设置多个计时器。该函数接受两个参数:计时器事件的ID和触发事件的时间间隔(以毫秒为单位)。
首先,需要为每个对象定义一个唯一的事件ID。可以使用整数或pygame内置的用户事件来表示。然后,使用pygame.time.set_timer()
函数为每个对象设置计时器。
下面是一个示例代码,演示如何为Pygame中的不同对象设置多个计时器:
import pygame
from pygame.locals import *
# 初始化Pygame
pygame.init()
# 创建窗口
window = pygame.display.set_mode((800, 600))
# 定义计时器事件的ID
TIMER_EVENT_1 = USEREVENT + 1
TIMER_EVENT_2 = USEREVENT + 2
# 设置计时器
pygame.time.set_timer(TIMER_EVENT_1, 1000) # 每隔1秒触发一次TIMER_EVENT_1
pygame.time.set_timer(TIMER_EVENT_2, 2000) # 每隔2秒触发一次TIMER_EVENT_2
# 游戏循环
running = True
while running:
for event in pygame.event.get():
if event.type == QUIT:
running = False
elif event.type == TIMER_EVENT_1:
# 处理TIMER_EVENT_1事件
print("TIMER_EVENT_1 triggered")
elif event.type == TIMER_EVENT_2:
# 处理TIMER_EVENT_2事件
print("TIMER_EVENT_2 triggered")
# 更新游戏逻辑
# ...
# 绘制游戏界面
# ...
pygame.display.update()
# 退出游戏
pygame.quit()
在上述示例中,我们定义了两个计时器事件的ID:TIMER_EVENT_1和TIMER_EVENT_2。然后,使用pygame.time.set_timer()
函数分别设置了每隔1秒和2秒触发一次的计时器。
在游戏循环中,我们通过检查事件类型来处理计时器事件。当计时器事件触发时,相应的处理代码将被执行。
领取专属 10元无门槛券
手把手带您无忧上云