文本不显示在标题屏幕按钮上
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()
我在制作游戏时一直无法尝试显示标题菜单文本。我试图在按钮上显示字体,这样当我将鼠标悬停在按钮上时,字体会保留在屏幕上。
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()