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
-循环,因为它仅在事件发生时运行(鼠标移动,按键)。否则,没有您的操作,代码将无法到达支票。您已经解决了问题吗?