2017-12-14 15 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")]

。あなたはもちろん、あなたの名前のために望むものを使用することができます!

関連する問題