问题描述
嘿,基本上是第一次在 pygame 中处理文本,只是想知道如何在玩家/敌人下渲染文本。
这是游戏循环:
#text test
font = pygame.font.Font('freesansbold.ttf',32)
# Game Loop
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
screen.fill((30,30,30)) #bakgrundsfärg på spelet
if game_over == False:
#timer
timer = pygame.time.get_ticks()
#update
player_group.update()
enemy_group.update()
#draw
player_group.draw(screen)
enemy_group.draw(screen)
#gui
life_gui = font.render("Life : " + str(p_hp),True,(255,255,255))
screen.blit(life_gui,(10,10))
time_gui = font.render("Time : " + str(int(timer/1000)),255))
screen.blit(time_gui,720))
kills_gui = font.render("Kills : " + str(kill_counter),255))
screen.blit(kills_gui,760))
#game over screen
if game_over == True:
game_over_screen = font.render("Game Over",255))
screen.blit(game_over_screen,(300,350))
pygame.display.flip()
clock.tick(60)
意外忘记包含游戏循环,但现在已添加。 如果有人知道那将是一个很大的帮助! (:
解决方法
自己想出来的,只需要在播放器之前渲染文本...哈哈
#text test
font = pygame.font.Font('freesansbold.ttf',32)
# Game Loop
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
screen.fill((30,30,30)) #bakgrundsfärg på spelet
#gui
life_gui = font.render("Life : " + str(p_hp),True,(255,255,255))
screen.blit(life_gui,(10,10))
time_gui = font.render("Time : " + str(int(timer/1000)),255))
screen.blit(time_gui,720))
kills_gui = font.render("Kills : " + str(kill_counter),255))
screen.blit(kills_gui,760))
if game_over == False:
#timer
timer = pygame.time.get_ticks()
#update
player_group.update()
enemy_group.update()
#draw
player_group.draw(screen)
enemy_group.draw(screen)
#game over screen
if game_over == True:
game_over_screen = font.render("Game Over",255))
screen.blit(game_over_screen,(300,350))
pygame.display.flip()
clock.tick(60)