class Mainmenu(): def __init__(self): self.state = game_guanka_state self.name = '主控类' self.screen = p.display.get_surface() self.guanka = game_guanka_states[game_guanka_state] def check_state(self): if self.state!=game_guanka_state: self.guanka = game_guanka_states[game_guanka_state] self.state=game_guanka_state def update(self): keys=p.key.get_pressed() print(keys[p.K_RIGHT]) self.check_state() self.guanka.update(keys) guanka里我定义了上下左右键该做什么,其余键没有定义,我按下上下左右键都能出发事件,但是当我按下其他键后,再按右键,这个print(keys[p.K_RIGHT])就都是False了,当我切换下窗口后,又能正常了,我不明白,那位大佬给解惑下。 def game_run(): mainmenu = Mainmenu() while True: for ev in p.event.get(): if ev.type == p.QUIT: p.display.quit() sys.exit() mainmenu.update() p.display.update() p.time.Clock().tick(Info.teps)
pygame中关于key.get_pressed() 问题
最新推荐文章于 2023-10-05 11:35:37 发布
在Python游戏编程中,创建了一个名为classMainmenu的类,处理game_guanka_state的状态和用户输入。遇到的问题是,当按下未定义的键后,再按右键K_RIGHT,其检测到的按键状态变为False,但切换窗口后恢复正常。问题可能与按键缓冲或者事件处理有关。
摘要由CSDN通过智能技术生成