我正在和我的朋友一起使用 python 和 pygame 开发一个项目。我们尝试在游戏中制作 FPS 计数器,但尚未成功。 FPS 计数器始终显示零。这是代码:
#Create Text
def Render_Text(what, color, where):
font = pygame.font.Font('assets/Roboto.ttf', 30)
text = font.render(what, 1, pygame.Color(color))
window.blit(text, where)
#Show FPS
Render_Text(str(int(clock.get_fps())), (255,0,0), (0,0))
print("FPS:", int(clock.get_fps()))
tick()
仅给出正确的结果:
clock = pygame.time.Clock()
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
clock.tick()
print(clock.get_fps())
# [...]
get_fps()
的文档
计算时钟帧速率get_fps()
get_fps() -> float
计算游戏的帧速率(以每秒帧数为单位)。它是通过对
最后十次调用求平均值来计算的。Clock.tick()
初始化你的时钟
clock = pygame.time.Clock()
添加您的字体
font = pygame.font.SysFont("Arial" , 18 , bold = True)
还有你的fps功能
def fps_counter():
fps = str(int(clock.get_fps()))
fps_t = font.render(fps , 1, pygame.Color("RED"))
window.blit(fps_t,(0,0))
循环调用你的函数
fps_counter()
#dont forget to add tick(60) to run 60 frame per sec