2017-01-07 14 views
0

私は自分のPygameスクリーンにいくつかのフォントをレンダリングしようとしていますが、決して表示されません。私は何が間違っているのか分からないので、すべての設定が正しいと思っています。Pygameをblitingしない2つのサーフェス

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) 

と私のinit関数で:

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 

私が間違っているのは何これは私がしようとすると、テキストを作成するために使用しているコードのですか?私はPygameのドキュメンテーションのすべてを見てきましたが、私は自分のコードで何か間違ったことを見ることはできません。私はまた、フォントを明示的に

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

と設定しようとしましたが、何も動作していないようです。

+1

'print()'を使用して、コードのどの部分が実行されているかを確認します。テキストを削除するように、サーフェスを色で塗りつぶしているかもしれません。ボードを作った後にテキストを描くべきでしょうか? – furas

+0

ああ!私はレンダリング後に画面全体を塗りつぶしていました。どうもありがとうございます! – Pecans

答えて

1

furasが示唆しているように、問題は描画後に表面を埋めることに起因していました。

関連する問題