Это то, что у меня пока есть, я пытаюсь получить доступ к png-файлу, чтобы отобразить его как раздражение, но все, что я до сих пор пробовал, выдвинуло ошибку. Файл png находится в том же CWD, что и файл .py, который я запускаю, поэтому проблем не должно быть. Я на Windows, если это помогает
import sys
import os
import pygame
from pygame.locals import *
import random
import notes
import frets
import score
class Controller:
def __init__(self):
pygame.init()
pygame.font.init()
self.width = 500
self.height = 300
self.screen = pygame.display.set_mode((self.width, self.height))
self.background = pygame.Surface(self.screen.get_size()).convert()
self.frets = pygame.sprite.Group()
self.frets.add(frets.Frets(100, 100, "openGreenFret.png"))
self.state = "GAME"
def mainLoop(self):
while True:
if(self.state == "GAME"):
self.gameLoop()
elif(self.state == "GAMEOVER"):
self.gameOver()
Это класс, который используется в контроллере
import pygame
class Frets(pygame.sprite.Sprite):
def __init__(self, x, y, img_file):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(img_file).convert_alpha()
self.rect = self.image.get_rect()
self.rect.x = x
self.rect.y = y
Это ошибка, которую я получаю в терминале
Traceback (most recent call last):
File "C:\Users\Matt Foster\Documents\guitarHeroMain.py", line 6, in <module>
main()
File "C:\Users\Matt Foster\Documents\guitarHeroMain.py", line 4, in main
main_window = Controller.Controller()
File "C:\Users\Matt Foster\Documents\Controller.py", line 19, in __init__
self.frets.add(os.path.join(frets.Frets(100, 100, "openGreenFret.png")))
File "C:\Users\Matt Foster\Documents\frets.py", line 6, in __init__
self.image = pygame.image.load(img_file).convert_alpha()
pygame.error: Couldn't open openGreenFret.png