文本不显示在标题屏幕按钮上

Text doesn't display on the title screen button

我在制作游戏时一直无法尝试显示标题菜单文本。我试图在按钮上显示字体,这样当我将鼠标悬停在按钮上时,字体会保留在屏幕上。

import pygame

pygame.init()

background_colour = (33, 37, 49)

screen = pygame.display.set_mode((1000, 600))

pygame.display.set_caption('A Game')

screen.fill(background_colour)

game_font = pygame.font.Font('JetBrainsMono-Regular.ttf', 50)
game_name = game_font.render('a game', True, (255, 255, 255))
game_name = pygame.transform.scale2x(game_name)
game_name_rect = game_name.get_rect(center=(500, 300))
pygame.draw.rect(screen, (38, 44, 60), game_name_rect)

running = True
title_screen = True

while running:

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            running = False

    if title_screen is True:
        screen.blit(game_name, game_name_rect)

        if not game_name_rect.collidepoint(pygame.mouse.get_pos()):
            pygame.draw.rect(screen, (38, 44, 60), game_name_rect)

        if game_name_rect.collidepoint(pygame.mouse.get_pos()):
            pygame.draw.rect(screen, (58, 64, 80), game_name_rect)

    pygame.display.update()

您需要在矩形后绘制文字:

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    if title_screen is True:
        color = (38, 44, 60)
        if game_name_rect.collidepoint(pygame.mouse.get_pos()):
            color = (58, 64, 80)

        pygame.draw.rect(screen, color, game_name_rect)
        screen.blit(game_name, game_name_rect)
   
    pygame.display.update()