[英]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.