gpt4 book ai didi

python - 我想编写一个在 python/pygame 中显示原始输入的框

转载 作者:太空宇宙 更新时间:2023-11-03 17:42:16 25 4
gpt4 key购买 nike

我想创建一段代码,它将接受按下的任何键并使用 message_to_screen() def 打印该代码。我不知道如何做到这一点,也不知道要搜索什么才能找到它。有谁可以帮忙吗?

我正在尝试创建一个数学游戏,它会提出问题,然后你输入答案。我目前以我的知识不知道如何编写这样的东西,希望得到帮助。

这是我当前的代码:

import pygame
import random
import time

pygame.init()

white = (255,255,255)
black = (0,0,0)
grey = (100,100,100)

display_width = 800
display_height = 600

gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption('Major League Mathematics')

clock = pygame.time.Clock()

FPS = 30

smallfont = pygame.font.SysFont("Arial", 25)
medfont = pygame.font.SysFont("Arial", 50)
largefont = pygame.font.SysFont("Arial", 100)
menufont = pygame.font.SysFont("Arial", 80)

def text_objects(text,color,size):
if size == "small":
textSurface = smallfont.render(text, True, color)
elif size == "medium":
textSurface = medfont.render(text, True, color)
elif size == "large":
textSurface = largefont.render(text, True, color)
elif size == "menu":
textSurface = menufont.render(text, True, color)

return textSurface, textSurface.get_rect()

def message_to_screen(msg,color,y_displace = 0,size = "small"):
textSurf, textRect = text_objects(msg,color,size)
textRect.center = (display_width / 2), (display_height / 2) + y_displace
gameDisplay.blit(textSurf, textRect)

def input_box():

for event in pygame.get():
if event.type == pygame.KEYDOWN:




def startScreen():

menu = True

while menu:

for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
menu = False

gameDisplay.fill(grey)
message_to_screen("Major League Mathematics", black, -200, "menu")
message_to_screen("Press Enter to start!", black, 100, "medium")
pygame.display.update()




def gameLoop():

gameExit = False
gameOver = False



while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameExit = True




gameDisplay.fill(white)
message_to_screen("test", black, 0, "medium")
pygame.display.update()

clock.tick(FPS)

pygame.quit()
quit()


startScreen()
gameLoop()

我希望使用 input_box() def 作为我使用 message_to_screen() 显示数字的位置。

请帮忙,我可能需要对这个项目提出更多要求,因为我刚刚开始使用 python 和 pygame,而且它是针对高中的。如果我需要解释什么,请告诉我。谢谢!

最佳答案

我会检查您可以按的每个字母。如果按下,我会将其添加到我的 text 字符串中。然后我显示我的文本:

textimage = basicFont.render(text,True,(0,0,0),(255,255,255))

screen.blit(textimage,(0,0))

您也可以将按键循环放入函数中。

关于python - 我想编写一个在 python/pygame 中显示原始输入的框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30336152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com