Pygame按键后不退出
我一直在跟着一个弹球的例子练习,想熟悉一下pygame这个库。每次测试我的代码时,我都得强制关闭游戏窗口,因为它会卡住。不过在我的代码里(我直接从pygame官网上复制的),我有写明如果按下Esc键或者点击屏幕上的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
我能不能定义一个“运行中”的状态,这样在我尝试退出时,游戏就不会直接卡住了?
1 个回答
2
首先,你需要在你的循环之前把运行状态设置为真,也就是写成 running = True
。其次,你应该在某个地方检查这个值;最简单的方法是把 while 1
改成 while running
。第三,双等号(==)是用来检查两个东西是否相等,而单等号(=)是用来给一个变量赋值的。你想要检查事件类型是否是 pygame.QUIT 或 KEYDOWN,所以那些双等号是对的,但接下来你要把运行状态设置为假,这就写成 running = False
。用 running == False
这样的写法是没效果的。