这可以使用pygame_gui 来完成。文本输入可通过UITextEntryLine 实例获得,而打印数组则可以使用UITextBox 完成。您首先需要像quick start guide 一样设置环境。
创建一个UITextEntryLine 实例:
from pygame.rect import Rect
from pygame_gui.elements.ui_text_entry_line import UITextEntryLine
text_input = UITextEntryLine(relative_rect=Rect(0, 0, 100, 100), manager=manager)
可以使用set_allowed_characters将输入限制为仅数字:
text_input.set_allowed_characters('numbers')
向事件队列添加检查允许在按下回车时获取文本输入:
for event in pygame.event.get():
if event.type == pygame.USEREVENT:
if event.user_type == pygame_gui.UI_TEXT_ENTRY_FINISHED:
if event.ui_element == text_input:
entered_text = text
UITextBox 可以通过将高度设置为 -1 来设置自定义高度:
from pygame_gui.elements.ui_text_box import UITextBox
text_box = UITextBox(relative_rect=Rect(0, 0, 100, -1), manager=manager, text='foobar')