簡體   English   中英

我如何實時更新pygame中的時間

[英]How do i update time in pygame in real time

我正在嘗試實時顯示游戲運行了多長時間。 為此,我使用了self.time_passed = pygame.time.get_ticks()/1000並將其稱為g.write("Time: %d" %(g.time_passed), g.white ,10, 10, 50) 我的寫函數如下所示:

def write(self, text, color, x , y, size):
            font = pygame.font.SysFont("airel", size)
            text = font.render(text, True, color)
            textRect = text.get_rect()
            self.screen.blit(text,(x , y))

我的問題是時間不是實時更新的。 它只會在玩家死亡時更新秒數,即使我將g.write("Time: %d" %(g.time_passed), g.white ,10, 10, 50)放在我的 main while True: game環形。 感謝幫助。

我想這是因為系統字體被稱為Arial而不是airel 或者,也許您正在使用字體Aerial

這可能會導致此功能失敗,而在玩家死亡時調用的功能可以正常工作。

我個人會使用 time.time()

import time

start = time.time()

# your code

end = time.time()
duration = end - start # answer in seconds
print(duration)

此外,您可能只想像這樣聲明一次字體:

import pygame

pygame.init()

font18 = pygame.font.SysFont("ariel", 18)

displaysurf = pygame.display.init((1280, 720))

def write(f, t, x, y, c):
    textsurf = f.render(t, True, c)
    displaysurf.blit(textsurf, (x, y)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM