pygame.transform.scale不在字体表面上工作

时间:2017-06-04 04:54:04

标签: python-3.x pygame

我正在尝试在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

1 个答案:

答案 0 :(得分:1)

pygame.transform.scale返回一个新的Surface对象。尝试将其分配给FontSurf

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