我正在尝试在python 3的pygame程序中创建一个函数。该函数基本上通过使其成为一个函数MakeWord()
,使得在屏幕上点击单词的多行处理更简单。它有一些参数来调整大小,字体,位置等。而不是根据正常的字体大小制作字体,我想要它基于像素大小,所以我在字体表面上做pygame.transfom.flip()
,但它不起作用。有人能找到问题吗?
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
答案 0 :(得分:1)
pygame.transform.scale
返回一个新的Surface对象。尝试将其分配给FontSurf
:
FontSurf = pygame.transform.scale(FontSurf, Size)