我想创建一段代码,按下任意键并使用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而且它适用于高中。 如果我需要解释一下,请告诉我。 谢谢!
答案 0 :(得分:1)
我检查你可以按的每个字母。
如果按下,我将其添加到我的text
字符串。
然后我用:
textimage = basicFont.render(text,True,(0,0,0),(255,255,255))
screen.blit(textimage,(0,0))
您也可以将按键循环放在一个函数中。