首次编写Pygame代码运行后窗口冻结,输入无响应、无法关闭怎么办
修复方案
你的代码存在两处语法逻辑错误,修改后即可正常运行:
- 窗口无法关闭的问题:主循环内的QUIT事件判断中,你使用了比较运算符
==来给run变量赋值,这行代码run == False仅会做相等判断,不会修改run的实际值,导致循环永远无法退出。将其修改为赋值运算符=即可:
if event.type == pygame.QUIT: run = False
- 按键后玩家无反应的问题:
draw函数中1号玩家的渲染坐标书写错误,你写的是WIN.blit(P1, (yellow.y, yellow.y)),x、y坐标都取了矩形的y属性,哪怕逻辑里修改了yellow.x的值,渲染时也不会体现。改为正确的坐标即可:
WIN.blit(P1, (yellow.x, yellow.y))
修改完成后,点击A键即可控制1号玩家左移,点击窗口关闭按钮也能正常退出程序。
内容的提问来源于stack exchange,提问作者AmishMoses
相关产品推荐
相关产品推荐

