如何禁用键盘上的某个键,直到某个函数至少被调用一次?

2024-10-02 02:28:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个具有暂停功能的游戏。一旦玩家在玩游戏时按下退出键,菜单将启用,一旦再次按下退出键,将禁用菜单并继续游戏。但是当我打开我的程序,按escape而没有首先启动一个游戏时,游戏崩溃导致他们的游戏无法继续。我如何才能禁用退出键,直到至少有一个游戏已经开始

我正在使用ppizarror的Pygame菜单模块来创建我的gui,我试图查找我的问题,但没有人有明确的答案。下面是处理暂停特性的两个不同类的主要代码部分

班级进入挑战: #在整个菜单中使用的一种功能,用于禁用 要显示的新的 def resume\u feature(): #禁用菜单 self.main\u menu.disable() #通过调用在后台暂停的游戏来恢复该游戏 从主游戏循环 self.game.main()

类GUI: #在整个游戏中使用的函数,当新的 游戏按钮按下 def start\ U new():

            # disable previous menu
            self.main_menu.disable()
            # Start new game by calling variable from EscapeTheGauntlet.py
            self.game = EscapeTheGauntlet(self.window, clock, self.sfx)
            # sets this new updated screen to the new main window
            self.game.main()

我能看到的唯一解决方案是禁用escape键,直到至少调用一次start new game功能。你能告诉我怎么做吗


Tags: self功能game游戏newmaindef菜单
1条回答
网友
1楼 · 发布于 2024-10-02 02:28:32

你的建议听起来太复杂了。不能搞乱键盘的系统驱动程序或键到字符的映射,因为用户可能在不同的窗口中使用需要escape键的不同程序

你不能重新编写处理暂停功能的代码来检查是否有暂停的游戏吗?在应用程序启动时用False初始化某个变量,并在调用预期调用的函数时将其设置为True

相关问题 更多 >

    热门问题