Есть 3 файла:
- main.py - откуда вызывается mainMenu как главное меню
- mainMenu.py - откуда вызывается game
при нажатии на кнопку "Play"
- game.py - откуда вызывается mainMenu
при нажатии на кнопку выхода на главное меню
Хотелось бы сделать возможность возвращаться обратно на главный экран(mainMenu.py), например, при нажатии ESCAPE.
В результате получилось примерно так:
main.py:
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((1024, 576))
pygame.display.set_caption("game")
pygame.mouse.set_visible(False)
clock = pygame.time.Clock()
if __name__ == '__main__':
from mainMenu import mainMenu
mainMenu()
mainMenu.py:
import pygame
from pygame import QUIT
from button import Button
from game import game
from main import screen,clock
def mainMenu():
bt = Button(разные аргументы)
while 1:
clock.tick(75)
screen.fill((28, 21, 53))
# ...
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
if bt.collision_mouse:
game()
if event.type == QUIT:
exit()
bt.render()
pygame.display.update()
game.py:
import pygame
from pygame.locals import *
from main import screen,clock,cursor
from mainMenu import mainMenu
def game():
while 1:
clock.tick(60)
screen.fill((51, 153, 218))
# ...
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_ESCAPE:
mainMenu()
elif event.type == KEYUP:
# ...
pass
if event.type == QUIT:
exit()
# ...
pygame.display.update()
Все модули сильно сокращены чтобы показать главные проблемные места.
При попытке запустить игру появляются ошибки, связанные с круговым импортом(circular import).
Как можно решить данную проблему?