2017-07-31 5 views
0

私は現在、Meloonatic Melonsのyoutube seriesに従っています。私は自分のゲームタイルのテクスチャを作成しようとしています。 This is the video私は現在見ています。パイゲは画像を開こうとしません

私のコードでは、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を再インストールすることをお勧めします。

関連する問題