2017-07-31 50 views
0

我目前正在關注Meloonatic Melons的youtube系列。我正在嘗試爲我的遊戲切片創建紋理。 This is the video我正在看衛生服務。Pygame不讓我打開圖像

我的代碼吐出一條錯誤消息,說pygame無法打開圖像。我在網上查看,其中大部分人都說要確保圖像文件位於相同的工作目錄中,因此我將Python代碼放在​​存儲圖像的相同文件夾中。有些人也說要進入完整的文件路徑,但這也會導致錯誤。

這裏是我的代碼:

import pygame 
import os 
cwd = os.getcwd() 

pygame.init() 

class Tiles: 

    Size = 32 

    def Load_Texture(file, Size): 
     bitmap = pygame.image.load(file) 
     bitmap = pygame.transform.scale(bitmap, (Size,Size)) 
     surface = pygame.Surface((Size,Size), pygame.HWSURFACE|pygame.SRCALPHA) 
     surface.blit(bitmap, (0,0)) 
     return surface 

    print(cwd) 
    Grass = Load_Texture("graphics\\grass.png", Size) 

這是將吐出的錯誤:

Traceback (most recent call last): 
    File "C:\Users\kylem\Desktop\First Python Game\scripts\textures.py", line 7, in <module> 
    class Tiles: 
    File "C:\Users\kylem\Desktop\First Python Game\scripts\textures.py", line 19, in Tiles 
    Grass = Load_Texture("scripts\\grass.png", Size) 
    File "C:\Users\kylem\Desktop\First Python Game\scripts\textures.py", line 12, in Load_Texture 
    bitmap = pygame.image.load(file) 
pygame.error: Couldn't open scripts\grass.png 

我把圖像和代碼在同一文件夾 並且如果我把完整的文件名如下:

Grass = Load_Texture("C:\Users\kylem\Desktop\First Python Game\scripts\grass.png", Size) 

我得到一個錯誤彈出說:

the error pop up

+0

圖像是否無損?你可以用圖形編輯器打開它嗎? – Michal

+0

反斜槓在Python字符串文字中有特殊含義。將它們加倍,使用原始字符串('r「C:\ Users \ ...」),或使用正斜槓。 – jasonharper

回答

1

我覺得你的代碼的問題可能與您引用文件時使用單反斜線的事實做。用一個反斜槓在Python它有時會導致不必要的錯誤,所以這就是我建議你試試:

Grass = Load_Texture("C:/Users/kylem/Desktop/First Python Game/scripts/grass.png", Size) 

如果不工作,那麼我認爲您的文件可能已損壞,在這種情況下,你應該嘗試重新下載它等...

0

我是你正在看的視頻的創造者!這是一個非常奇怪的錯誤,我確信我以前有過這個錯誤。我可以看到你已經嘗試打印出當前的工作目錄來查看程序運行的位置。我沒有發現你的程序有什麼問題,所以我建議你嘗試重新安裝Python或Pygame。