Pygame文本功能

时间:2017-08-09 09:27:19

标签: python pygame

您好我是Python / Pygame的新手。我需要一个能让你的工作更快的功能的帮助。 是否可以这样做:

def text_write(text, font, size, color, coords):
    # what do i type here?

例如,我想将其称为text_write("Hello", "Comic Sans MS", 50, black, (500, 400)),它将显示文本" hello"在Comic Sans字体中,大小为50,黑色,并且为500,400。

1 个答案:

答案 0 :(得分:1)

任何事情都有可能,只有你澄清了你的问题正是。所以 if 你想要询问如何在函数参数中提供的特定位置显示给定的所有属性作为函数参数的给定文本。

def text_write(text, font, size, color, x, y):
    """
    text -> string of text.
    font-> string having the name of the font.
    size -> int, size of the font.
    color -> tuple, adhering to the color format in pygame.
    x -> int, x coordinate of text object.
    y -> int, y coordinate of text object.
    """

    font_object = pygame.font.SysFont(font, size)
    text_surface = font_object.render(text, True, color)
    text_rectangle = text_surface.get_rect()
    text_rectangle.center = x, y
    # your_game_display is the global variable you made that was the display object
    your_game_display.blit(text_surface, text_rectangle)

现在您需要了解有关此功能的某些事项

  1. 可以在pygame.init()之后的任何时间调用它,因为它在每次调用时初始化Font,因此没有未初始化的错误。
  2. 您需要确保已定义game_display对象,因为此方法需要访问它,我更喜欢将其作为函数参数传递。
  3. 您应该了解pygame中的颜色表示方式。