Pygame работает с cx_Freeze, но ничего не отображается в окне, когда я запускаю исполняемый файл - PullRequest
1 голос
/ 01 октября 2019

game.py:

import pygame

pygame.init()
if pygame.get_init():
  print("pygame successfully initialized")
else:
  print("pygame failed to initialize")

background_color = (255,0,0)
(width, height) = (800, 800)
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption('Game')

x = int(width / 2)
y = int(height / 2)
speed = 10


running = True
while running:
  screen.fill(background_color)

  # drawing
  pygame.draw.circle(screen, (0,0,255), (x, y), 50)

  #input
  keys = pygame.key.get_pressed()
  if keys[97]:
    x -= speed
  elif keys[100]:
    x += speed
  if keys[119]:
    y -= speed
  elif keys[115]:
    y += speed

  pygame.display.flip()

  for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False

setup.py:

from cx_Freeze import setup, Executable

includefiles = ['PNG']
includes = []
excludes = []
packages = []

setup(
    name = 'game',
    version = '0.1',
    description = 'IDk',
    options = {'build_exe': {'includes':includes,'excludes':excludes,'packages':packages,'include_files':includefiles}}, 
    executables = [Executable("game.py")]
)

Когда я запускаю скрипт setup.py, он запускает исполняемый файл, однако он просто создаетпустое окно пигмея. Если я запускаю скрипт с 'python game.py' в терминале, он работает нормально. Я видел много людей, которые не могут заставить программы pygame работать с cx_Freeze, и исправление заключается в добавлении import re, но это не решает мою проблему. Я также не получаю никаких ошибок, и появляется всплывающее окно с сообщением «Добро пожаловать в Pygame».

...