Two Surfaces not bliting pygame

254 views Asked by At

I'm trying to render some font onto my Pygame screen but it never shows up. I think I have everything set-up right and my programs not throwing any errors so I'm not sure what's wrong. This is the code I'm using to try and create the text:

pygame.init()
pygame.display.set_caption("MyGame")
font = SysFont("Times", 24) #Create a new font using times if it exists, else use system font.
white = (255, 255, 255)

while True:  #Game loop
  label = font.render("Score: " + str(score), 1, white)
  self.surface.blit(label, (100, 100))
  # Do other game things....
  self.board.draw()
  pygame.display.update()
  self.clock.tick(60)

and in my init function:

def __init__(self):
    self.surface = pygame.display.set_mode((400, 500)) #Set dimensions of game window. Creates a Surface
    self.clock = pygame.time.Clock()
    self.board = Board(self.surface)  # Board is an object in my game

What am I doing wrong? I've looked all over the Pygame documentation and SO but I can't see anything wrong in my code. I've also tried setting the font explicitly with

font = pygame.font.Font("/System/Library/Fonts/Helvetica.dfont", 24)

but nothing seems to work.

1

There are 1 answers

0
Pecans On BEST ANSWER

As furas suggested, the problem was caused by me filling in the surface after drawing.