我一直在遵循一个弹跳球的例子,只是为了让我的热身与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/