python - Pygame 按键时不退出

标签 python pygame

我一直在遵循一个弹跳球的例子,只是为了让我的热身与pygame:每次我测试我的代码时,我都必须通过使其卡住来杀死游戏窗口,尽管在我的代码中(直接采取)来自 pygame 网站)我声明如果按下 Escape 键或屏幕上的 X 按钮,游戏应该退出。我收到错误

    running == False
NameError: name 'running' is not defined

我的代码是

   while 1:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running == False
        if event.type ==pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
            running == False

我可以定义“运行”吗?这样当我尝试退出时游戏不会简单地卡住。

最佳答案

首先,您应该在 while 循环上方将 running 定义为 True (running = True)。其次,您应该在某处检查该值;最简单的方法是将 while 1 更改为 while running 第三,== 是检查相等性,= 是设置一个值。您想要检查 event.type 是 pygame.QUIT 或 KEYDOWN,因此这些 == 是正确的,但是您想要将 running 设置为 False,即 running = False。将 running == False 作为语句执行是无效的。

关于python - Pygame 按键时不退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23918301/

相关文章:

python - 如何将等高线图叠加在 basemap 上

python - 通过 jenkins UI 编辑工作区文件

python - event_text[-SCREEN_SIZE[1]/font_height :]? 的说明

python - 通过pygame.sndarray播放正弦波时出错

python - 从字符串中提取 float 以创建多个/多维数组来操作数据

python - Python 的内置打印为什么/如何允许 ">>"运算符?

python - flask migrate 似乎删除了我所有的数据库数据

python - pygame.mixer.Sound.play : Unable to open file

python - 在pygame上爆炸之前给炸弹时间

python - 如何从Python的另一个类中获取一些东西?