2011-03-04 82 views
1

我在網上找到了一個教程(在Youtube上),它向我展示了使用pygame創建遊戲的基礎知識。我發現他說的那種圖像和他所擁有的圖像。他沒有說要把他們救到哪裏,我想這可能是我的問題。在這裏,這是我在我的節目一個例子,什麼對錯誤爲什麼我的pygame圖片無法加載?

bif="bg.jpg" 
mif="images.png" 

import pygame, sys 
from pygame.locals import * 

pygame.init() 
screen=pygame.display.set_mode((420,315),0,32) 

backround=pygame.image.load(bif).convert() 
mouse_c=pygame.image.load(mif).convert_alpha() 

while True: 
    for event in pygame.event.get(): 
     if event.type == QUIT: 
      pygame.quit() 
      sys.exit() 

    screen.blit(backround, (0,0)) 

    x,y = pygame.mouse.get_pos() 
    x -= mouse_c.get_width()/2 
    y -+ mouse_c.get_height()/2 

    screen.blit(mouse_c, (x,y)) 

    pygame.display.update() 

錯誤讀取顯示出來:

Traceback (most recent call last): 
File "C:/Python26/pygame.games/pygame 
1", line 10, in <module> 
    backround=pygame.image.load(bif).convert() 
error: Couldn't open bg.jpg 

請儘快作出迴應。

+0

你在哪裏存儲圖像?您是否嘗試過使用圖片的絕對路徑,例如「C:/Python26/pygame.games/bg.jpg」? –

回答

3

根據該代碼,您的圖像文件需要保存在遊戲的.py文件所在的目錄中。嘗試在那裏移動它們。

作爲完整性檢查(以確保圖像將加載,它實際上是在與提供正確路徑的問題),你可以暫時在代碼中指定圖像的絕對路徑,所以不是

bif = "bg.jpg" 

你將不得不

bif = "C:/My_game/images/bg.jpg" 

但顯然改變第二位以指向您的圖像實際存儲。一旦確定圖像可以使用絕對路徑加載,您應該使用相對路徑,並且如果您可能擁有很多資源,則應該將它們與代碼分開,例如將它們放入assets與遊戲代碼相同的文件夾中的文件夾或類似文件夾。

bif = "assets/bg.jpg" 
+2

別忘了,你需要「C:\\ My_game \\ images \\ bg.jpg」,但是使用絕對路徑是一個壞主意。最好將圖像放在與.py文件相同的目錄中。 –

+1

@PaulVincentCraven,你可以使用原始字符串。 – alexpinho98

-1

我只是有同樣的問題。試圖找出相同的教程

我修復它的方式。

  1. 把你的圖像在C:在安裝pygame的\ Python26 \ LIB \站點包

這一點,並沒有工作,直到我把圖片在那裏。

  1. 當爲bif和mif聲明你的變量時,你應該這樣寫;

BIF = 「C:/Python26/Lib/site-packages/bg.jpg」

與圖像文件的完整位置。注意斜槓是這樣的「/」

我試過它與單反斜槓,如「\」和「\」,但都沒有工作。

嘗試所有不同的方法,並確保所有內容拼寫正確,並且您的圖像是您所說的位置,並且您獲得了正確的文件名(.jpg,.JPG或.jpeg)。您可以看看圖像文件的屬性。

相關問題