2017-12-14 2 views
2

그래서 기본적으로 .py 스크립트를 실행 파일로 변환하려고합니다. 유일한 문제점은 setup.py 파일이 이미지 파일과 사운드 파일과 같은 디렉토리에 있어야한다는 것입니다. 게임 파일은 setup.py 파일이있는 디렉토리에 있습니다.
설치 파일을 편집하여 게임 파일의 모든 코드를 변경하지 않아도됩니다. 필요한 경우 게임 파일을 편집하되 선호하지 않는 것이 좋습니다.이미지 디렉토리 및 cx_Freeze

from os import path 

img_dir = path.join(path.dirname(__file__), 'img') 
snd_dir = path.join(path.dirname(__file__), 'snd') 

#ways i load in images: 
background = pygame.image.load(path.join(img_dir, 
"background.jpg")).convert() 

alien_images = [] 
alien_list = ['alien1.png', 'alien2.png'] 
for img in alien_list: 
    alien_images.append(pygame.image.load(path.join(img_dir, 
                img)).convert())` 

이것은 내가 지금 설치 한 파일입니다. 물론 이미지와 사운드를 찾을 수 없다는 것 외에는 오류가 없습니다.

import cx_Freeze 

executables = [cx_Freeze.Executable("Shmup.py")] 

cx_Freeze.setup(
    name = "Shoot 'm up!", 
    options = {"build_exe": {"packages":["pygame"], 
         "include_files": ["alien1.png", "alien2.png", 
              "background.jpg", "laser1.png", 
              "powerUp.png", "shield.png", 
              "regularExplosion00.png", 
              "regularExplosion01.png", 
              "regularExplosion02.png", 
              "regularExplosion03.png", 
              "regularExplosion04.png", 
              "regularExplosion05.png", 
              "regularExplosion06.png", 
              "regularExplosion07.png", 
              "regularExplosion07.png", 
              "regularExplosion08.png", 
              "regularExplosion09.png", 
              "ship1.png", 
              "sonicExplosion00.png", 
              "sonicExplosion01.png", 
              "sonicExplosion02.png", 
              "sonicExplosion03.png", 
              "sonicExplosion04.png", 
              "sonicExplosion05.png", 
              "sonicExplosion06.png", 
              "sonicExplosion07.png", 
              "sonicExplosion08.png", 
              "sonicExplosion09.png", 
              "Expl.wav", "Expl2.wav", 
              "Music.ogg", "Pew.wav", 
              "Powerup.wav", "Rumble.ogg"]}}, 
    executables = executables 
    ) 

답변

0

"include_files"지정 문에 상대 디렉토리를 포함 할 수 있습니다. 이런 식으로 뭔가 : 대상 디렉토리에 "자산"디렉토리 "game_assets"의 모든 파일을 복사합니다

include_files = [("game_assets", "assets")]

. 물론 이름에 대해 원하는대로 사용할 수 있습니다!