我正在开发一个项目,我在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)
但它不起作用,我在网上找不到任何解决方案。
答案 0 :(得分:2)
您可以启用keyboard repeat,因此按住某个键会产生多个按键事件。
因此,在pg.key.set_repeat(500, 200)
之后调用pg.init()
,在初始延迟半秒后每200毫秒生成一次退格键事件。