У меня довольно простая проблема. Я хочу обновлять значение один раз в секунду, и мой код делает это. Обновленный номер отображается за поверхностью, хотя порядок должен быть правильным.
Как я могу сделать так, чтобы оно показывалось сверху?
(я нарисовал круг, чтобы увидеть, находится ли он позади или впереди круга, если я не делаю screen.fill)
Кроме того, я был бы признателен, если бы числа не отображались друг на друга, но я могу решить это сам, как только решу другую проблему.
Код:
import pygame
from pygame.locals import *
pygame.init()
display_width = 1600
display_height = 800
color = 23,52,85
color2 = 43,200,8
screen = pygame.display.set_mode((display_width,display_height))
wood = 0
myFont = pygame.font.SysFont('Arial', 25)
someEvent = pygame.key.get_pressed()
MOVEEVENT = pygame.USEREVENT+1
t = 1000
pygame.time.set_timer(MOVEEVENT,t)
def increaseWood():
global wood
wood+=3
print("The wood was increased")
return wood
def drawEverySecond():
text = "Wood: " + str(increaseWood())
label = myFont.render(text,1,color2)
screen.blit(label, (1000,300))
print('Current Wood:', wood)
while True:
pygame.display.update()
screen.fill(color)
pygame.draw.circle(screen, (220,40,100),(1000,300), 20,4 )
#drawEverySecond()
for event in pygame.event.get():
#print(event)
if event.type == pygame.QUIT:
pygame.display.quit()
quit()
if event.type == MOUSEBUTTONDOWN:
print("Mouse was pressed!")
if event.type == MOVEEVENT:
drawEverySecond()