Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 游戏没有';t从事件循环停止_Python_Pygame - Fatal编程技术网

Python 游戏没有';t从事件循环停止

Python 游戏没有';t从事件循环停止,python,pygame,Python,Pygame,我走了这么远,它有点让人困惑,我无法找出代码的一个简单问题 while not gameExit: while gameOver == True: pygame.display.flip() gameDisplay.fill(white) display_message("OVER. C to continue, Q to quit", red) for event in pygame.event.get():

我走了这么远,它有点让人困惑,我无法找出代码的一个简单问题

while not gameExit:
    while gameOver == True:
        pygame.display.flip()
        gameDisplay.fill(white)
        display_message("OVER. C to continue, Q to quit", red)

        for event in pygame.event.get():
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_q:
                    gameOver = False
                    gameExit = True
                if event.key == pygame.K_c:
                    gameLoop()

    for event in pygame.event.get():
        if event.type  == pygame.QUIT:
            gameExit = True
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                lead_x_change = -10
                lead_y_change = 0
            elif event.key == pygame.K_RIGHT:
                lead_x_change = 10
                lead_y_change = 0
            elif event.key == pygame.K_UP:
                lead_y_change = -10
                lead_x_change = 0
            elif event.key == pygame.K_DOWN:
                lead_y_change = 10
                lead_x_change = 0
        if  ( lead_x < 0 ) or (lead_x >= 600) or ( lead_y < 0 ) or ( lead_y >= 800):
            gameOver = True
不退出游戏时:
当gameOver==True时:
pygame.display.flip()
游戏显示。填充(白色)
显示_消息(“结束。C继续,Q退出”,红色)
对于pygame.event.get()中的事件:
如果event.type==pygame.KEYDOWN:
如果event.key==pygame.K_q:
gameOver=False
gameExit=True
如果event.key==pygame.K_c:
gameLoop()
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
gameExit=True
如果event.type==pygame.KEYDOWN:
如果event.key==pygame.K_左:
lead_x_change=-10
潜在客户变更=0
elif event.key==pygame.K_RIGHT:
铅x_变化=10
潜在客户变更=0
elif event.key==pygame.K_UP:
潜在客户变更=-10
lead_x_change=0
elif event.key==pygame.K_向下:
潜在客户变更=10
lead_x_change=0
如果(铅x<0)或(铅x>=600)或(铅y<0)或(铅y>=800):
gameOver=True
因此,当我运行这段代码时,当蛇越过边界时,C表示继续,Q表示退出,直到我按下键盘上的一个按钮或移动鼠标时才出现。为什么会这样?

移动:

if  ( lead_x < 0 ) or (lead_x >= 600) or ( lead_y < 0 ) or ( lead_y >= 800):
        gameOver = True
如果(铅x<0)或(铅x>=600)或(铅y<0)或(铅y>=800):
gameOver=True

退出
pygame.event.get
-循环,因为它仅在事件发生时运行(鼠标移动,按键)。否则,没有您的操作,代码将无法到达支票。

您已经解决了问题吗?