По какой-то причине я не могу выйти из этого цикла, когда я перехожу к intro = false, может ли кто-нибудь помочь в том, как выйти из этого оператора if. Это мой экран меню, и как только я нажимаю «новую игру», я хочу, чтобы он вышел из функции game_intro.Выход из цикла if python
Здесь я определяю game_intro:
def game_intro():
intro = True
if intro == True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
window.fill(superlightgrey)
fontvertical = pygame.font.SysFont("comicsansms", 100)
text = fontvertical.render("Connect 4", True, skyblue)
word = (10, 1)
window.blit(text,word)
ButtonIntro("New Game", 340, 140, 200, 50, superlightgrey, superlightgrey, "Play")
Это где я создал функцию кнопки:
def ButtonIntro(msg, x, y, w, h, ic, ac, action=None):
mouse = pygame.mouse.get_pos()
click = pygame.mouse.get_pressed()
if x+w > mouse[0] > x and y+h > mouse[1] > y:
pygame.draw.rect(window, ac, (x, y, w, h))
if click[0] == 1 and action != None:
pygame.draw.rect(window, lightgrey, (x, y, w, h))
if action == "Play":
intro = False
##WHAT DO I NEED HERE TO EXIT LOOP
и это, где я призываю функции:
while intro == True:
game_intro()
print("loopexited")
вы можете просто сделать это 'возвращением 'заявление. –