Pygame 中未显示文本

Text not displaying in Pygame

问题 - 我正在尝试为 simon says 游戏制作开始菜单并尝试首先显示一些文本,但除了游戏屏幕变白(应该发生)之外没有任何显示。我看过类似的问题,但他们似乎没有帮助。

程序应该只在屏幕上以黑字显示 'Simon says'

代码:

import pygame,random,pickle,time

WHITE = (255,255,255)
BLACK = (0,0,0)
RED = (255,0,0)
GREEN = (0,255,0)
BLUE = (0,0,255)
YELLOW = (255,255,0)
PURPLE = (128,0,128)
CYAN = (0,255,255)
ORANGE = (255,165,0)
PINK = (255,192,203)

pygame.init()
logo = pygame.image.load("logo.png")
pygame.display.set_icon(logo)
pygame.display.set_caption("Simon Says")

screen = pygame.display.set_mode((1280,720))

def textObjects(text,font):
   textSurface = font.render(text,True,BLACK)
   return textSurface, textSurface.get_rect()

def displayText(text):
    fontInfo = pygame.font.Font(None,100)
    textSurf, textSize = textObjects(text,fontInfo)
    textSize.center = ((1280/2),(720/2))
    screen.blit(textSurf,textSize)
    pygame.display.update()

def startMenu():
    displayText('Simon Says')
def main():
    startMenu() 
    running = True
    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
        screen.fill(WHITE)
        pygame.display.update()
        pygame.display.flip()

main()

也试过使用 pygame.display.flip() 但还是不行

实际上一切正常,但您犯了一个简单的错误。 注意第一行你调用的是

startMenu()

函数,主要是将文本 'Simon says' 绘制到屏幕上。 但是 同样,紧接着您将屏幕填满白色。 所以它绘制文本的表面并将其渲染到屏幕上,并且在它把屏幕变成白色之后(基本上它在你的文本表面上绘制白色)。 因此,如果您希望它出现,只需将该函数放在这一行之后:

screen.fill(WHITE)