неверный синтаксис при попытке использовать os.path.join в pygame при загрузке изображений и звуков - PullRequest
0 голосов
/ 19 июня 2020

Я создал игру, используя pygame, и загрузил изображения и звуковые файлы, используя полный путь к файлам, но я хотел бы сделать исполняемый файл игры для запуска в любом месте и на любых других компьютерах.

Для этого я заменил полное имя пути на os.path.join для загрузки изображений и звуковых файлов из относительной папки.

он работал нормально для первых двух строк, используя его в большем количестве строк, это дает мне это ошибка:

pygame.mixer.music.set_volume(0.5) ^ SyntaxError: invalid syntax

Итак, если есть способ разрешить игре загружать данные из соседней папки независимо от того, где она находится, или узнать


import pygame
import winsound
from pygame.locals import *
import auto_py_to_exe
from distutils.core import setup
import py2exe
import os
import sys
import time
import random


pygame.init() 
screen_width = 800
screen_height = 500
win = pygame.display.set_mode((screen_width,screen_height))
pygame.display.set_caption('Game')


walkRight = [pygame.image.load(os.path.join('data','S1.png')), pygame.image.load(os.path.join('data','S2.png')), pygame.image.load(os.path.join('data','S3.png')), pygame.image.load(os.path.join('data','S4.png')), pygame.image.load(os.path.join('data','S5.png')), pygame.image.load(os.path.join('data','S6.png')), pygame.image.load(os.path.join('data','S7.png')), pygame.image.load(os.path.join('data','S8.png')), pygame.image.load(os.path.join('data','S9.png')), pygame.image.load(os.path.join('data','S10.png')), pygame.image.load(os.path.join('data','S11.png')), pygame.image.load(os.path.join('data','S12.png')), pygame.image.load(os.path.join('data','S13.png')), pygame.image.load(os.path.join('data','S14.png')), pygame.image.load(os.path.join('data','S15.png')), pygame.image.load(os.path.join('data','S16.png')), pygame.image.load(os.path.join('data','S17.png')), pygame.image.load(os.path.join('data','S18.png')), pygame.image.load(os.path.join('data','S19.png')), pygame.image.load(os.path.join('data','S20.png')), pygame.image.load(os.path.join('data','S21.png')), pygame.image.load(os.path.join('data','S22.png')), pygame.image.load(os.path.join('data','S23.png')), pygame.image.load(os.path.join('data','S24.png')), pygame.image.load(os.path.join('data','S25.png')), pygame.image.load(os.path.join('data','S26.png')), pygame.image.load(os.path.join('data','S27.png')), pygame.image.load(os.path.join('data','S28.png')), pygame.image.load(os.path.join('data','S29.png')), pygame.image.load(os.path.join('data','S30.png')), pygame.image.load(os.path.join('data','S31.png')), pygame.image.load(os.path.join('data','S32.png')), pygame.image.load(os.path.join('data','S33.png'))]
walkleft = [pygame.image.load(os.path.join('data','H1.png')), pygame.image.load(os.path.join('data','H2.png')), pygame.image.load(os.path.join('data','H3.png')), pygame.image.load(os.path.join('data','H4.png')), pygame.image.load(os.path.join('data','H5.png')), pygame.image.load(os.path.join('data','H6.png')), pygame.image.load(os.path.join('data','H7.png')), pygame.image.load(os.path.join('data','H8.png')), pygame.image.load(os.path.join('data','H9.png')), pygame.image.load(os.path.join('data','H10.png')), pygame.image.load(os.path.join('data','H11.png')), pygame.image.load(os.path.join('data','H12.png')), pygame.image.load(os.path.join('data','H13.png')), pygame.image.load(os.path.join('data','H14.png')), pygame.image.load(os.path.join('data','H15.png')), pygame.image.load(os.path.join('data','H16.png')), pygame.image.load(os.path.join('data','H17.png')), pygame.image.load(os.path.join('data','H18.png')), pygame.image.load(os.path.join('data','H19.png')), pygame.image.load(os.path.join('data','H20.png')), pygame.image.load(os.path.join('data','H21.png')), pygame.image.load(os.path.join('data','H22.png')), pygame.image.load(os.path.join('data','H23.png')), pygame.image.load(os.path.join('data','H24.png')), pygame.image.load(os.path.join('data','H25.png')), pygame.image.load(os.path.join('data','H26.png')), pygame.image.load(os.path.join('data','H27.png')), pygame.image.load(os.path.join('data','H28.png')), pygame.image.load(os.path.join('data','H29.png')), pygame.image.load(os.path.join('data','H30.png')), pygame.image.load(os.path.join('data','H31.png')), pygame.image.load(os.path.join('data','H32.png')), pygame.image.load(os.path.join('data','H33.png'))]



pygame.mixer.init()
pygame.mixer.Sound(os.path.join('sound','music.wav')
pygame.mixer.music.set_volume(0.5)
pygame.mixer.music.play(-1)



bg = pygame.image.load(os.path.join('data','FOREST.jpg').convert()

'''



1 Ответ

0 голосов
/ 19 июня 2020

Вы забыли здесь одну круглую скобку pygame.mixer.Sound(os.path.join('sound','music.wav') Должно быть так pygame.mixer.Sound(os.path.join('sound','music.wav'))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...