我正在研究一个项目,我在Python中找到了一个文本框的代码:How to create a text input box with pygame?
现在,我想更改代码,以便在用户保留退格时,文本框将删除字符。
我试图将代码更改为:
if event.type == pg.KEYDOWN:
if self.active:
if event.key == pg.K_RETURN:
self.text = ''
if event.key == pg.K_BACKSPACE:
while pg.KEYDOWN is pg.K_BACKSPACE:
print "shock"
self.text = self.text[:-1]
else:
self.text += event.unicode
# Re-render the text.
self.txt_surface = FONT.render(self.text, True, self.color)
但它不起作用,我在网上找不到任何解决方案。
您可以启用keyboard repeat,因此按住某个键将生成多个按键事件。
因此,在pg.key.set_repeat(500, 200)
之后调用pg.init()
,在初始延迟半秒后每200毫秒产生一个退格键按下事件。