2017-06-04 14 views
1

Python 3のpygameプログラムで関数を作成しようとしています。この関数は、基本的に、単語を1つの関数にすることによって簡単に単語をblittingする複数行の処理を行います、MakeWord()。それはサイズ、フォント、位置などを調整するためのいくつかのパラメータを持っています。通常のフォントサイズに基づいてフォントを作るのではなく、ピクセルサイズに基づいてフォントを作成したいので、フォント面にpygame.transfom.flip()を実行しました。誰かが問題を見つけられますか?pygame.transform.scaleがフォントサーフェイス上で動作しない

def MakeWord(Phrase, Font, Color, Pos, Size): 
    FontType = pygame.font.SysFont(Font, 400) #400 because the size will be changed anyways 
    FontSurf = FontType.render(Phrase, True, Color) 
    pygame.transform.scale(FontSurf, Size) #Does not work 
    FontRect = FontSurf.get_rect() 
    FontRect.topleft = Pos 
    Display.blit(FontSurf, FontRect) 
    return FontRect #For FontRect.collidepoint(pygame.mouse.get_pos) used later 

答えて

1

pygame.transform.scaleは、新しいSurfaceオブジェクトを返します。 FontSurfに割り当ててみてください:

FontSurf = pygame.transform.scale(FontSurf, Size) 
+0

ありがとう、これはうまくいきます。私はそれが最初の表面を変えると思った。 – SnootierBaBoon

関連する問題