gpt4 book ai didi

python - 如何在 Pygame 中获取用户的文本输入?

转载 作者:太空狗 更新时间:2023-10-30 02:21:47 24 4
gpt4 key购买 nike

如何让 pygame 打印来自用户的输入:

我试图让用户输入一些东西,然后 pygame 将它打印在屏幕上。

这是我当前的程序:

import pygame, pygame.font, pygame.event, pygame.draw, string
from pygame.locals import *

def get_key():
while 1:
event = pygame.event.poll()
if event.type == KEYDOWN:
return event.key
else:
pass

def display_box(screen, message):
"Print a message in a box in the middle of the screen"
fontobject = pygame.font.Font(None,18)
pygame.draw.rect(screen, (0,0,0),
((screen.get_width() / 2) - 100,
(screen.get_height() / 2) - 10,
200,20), 0)
pygame.draw.rect(screen, (255,255,255),
((screen.get_width() / 2) - 102,
(screen.get_height() / 2) - 12,
204,24), 1)
if len(message) != 0:
screen.blit(fontobject.render(message, 1, (255,255,255)),
((screen.get_width() / 2) - 100, (screen.get_height() / 2) - 10))
pygame.display.flip()

def ask(screen, question):
"ask(screen, question) -> answer"
pygame.font.init()
current_string = []
display_box(screen, question + ": " + string.join(current_string,""))
while 1:
inkey = get_key()
if inkey == K_BACKSPACE:
current_string = current_string[0:-1]
elif inkey == K_RETURN:
break
elif inkey == K_MINUS:
current_string.append("_")
elif inkey <= 127:
current_string.append(chr(inkey))
display_box(screen, question + ": " + string.join(current_string,""))
return string.join(current_string,"")

def main():
screen = pygame.display.set_mode((320,240))
print ask(screen, "Name") + " was entered"

if __name__ == '__main__': main()

我想要这样,当用户按下回车键时,它会清空屏幕。

帮帮我!

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