2017-12-09 1 views
1

Im은 파이썬에서 간단한 스네이크 게임을 만들고 집에서 의도 한대로 작동하지만 코드를 github에 놓으면 해당 경로를 찾지 못합니다. 노래,이 경로를 상대적으로 만들고 싶습니다. 모든 컴퓨터에서 작동합니다.pygame 상대의 노래에 대한 경로를 만드는 방법

def game_sound(s): 
     """ Include the game sfx and music""" 
     if s == 0: 
      pygame.mixer.music.load("background.ogg") 
      pygame.mixer.music.play(-1) 
     elif s == 1: 
      pygame.mixer.Sound("eating.wav").play() 
     elif s == 2: 
      pygame.mixer.Sound("game-over.wav").play() 

TL - - 여기

은 노래 파일에 대한 코드의 일부입니다 상대적인 경로를 만들어 임 해결할 수있는 방법을 찾기 위해 노력하고, 그것은 아무데도 집에서 여기에 작동 DR- 나는 어떻게하는지 모른다. 누군가 도울 수 있습니까?

+0

여기에 : https://stackoverflow.com/q/918154/7766131 – swimingduck

+0

어쨌든 @swimingduck 덕분에 – Mateus

+0

게임 폴더가 아닌 다른 폴더에서 코드를 실행하면 게임 폴더에 대한 전체 경로를 찾고 노래 파일에 가입해야합니다. – furas

답변

1

표준 방법은

import os, sys 

APP_FOLDER = os.path.dirname(os.path.realpath(sys.argv[0])) 

그리고 나중에 응용 프로그램 폴더에 실제 경로를 찾을 수

full_path = os.path.join(APP_FOLDER, "eating.wav") 

pygame.mixer.Sound(full_path).play() 

을 파일에 실제 경로를 생성하는 데 사용하는 것입니다 또는 당신은 응용 프로그램에 "current working directory" (CWD)을 변경해야 폴더.

os.chdir(APP_FOLDER) 

pygame.mixer.Sound("eating.wav").play() 

당신은 BTW

print(os.getcwd()) 

로 현재 작업 디렉토리를 확인할 수 있습니다 :이 방법의 문제없이 당신이 다른 컴퓨터뿐만 아니라에서 실행할 때뿐만 아니라 당신은 서로 다른 폴더에서 실행할 때 동일한 컴퓨터 - 프로그램을 실행하는 바탕 화면에 바로 가기/아이콘을 만들 때 문제가 발생합니다. python game_folder/game.py

관련 문제