我在网上找到了一个教程(在Youtube上),它向我展示了使用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 :(得分:3)
根据该代码,您的图像文件需要保存在与游戏的.py文件相同的目录中。试着把它们移到那里。
作为一个完整性检查(为了确保图像将加载并且实际上是提供正确路径的问题),您可以在代码中临时指定图像的绝对路径,因此而不是
bif = "bg.jpg"
你会有
bif = "C:/My_game/images/bg.jpg"
但显然要将第二位更改为指向实际存储图像的位置。一旦你确定可以使用绝对路径加载图像,就应该使用相对路径,如果你可能有很多资产,你应该将它们与代码分开,例如将它们放在{与游戏代码位于同一文件夹中的{1}}文件夹,或类似文件夹。
assets
答案 1 :(得分:0)
在运行时使用os.getcwd()
检查当前工作目录是一个好主意。找到当前工作目录后,添加相对于该路径的资产。例如,您可以将bg.jpg放在<cwd>/python/game/assets/
上并输入:
bif=r"python/game/assets/bg.jpg"
答案 2 :(得分:0)
您也许可以忽略所有这些内容,或者仅阅读部分内容,具体取决于什么内容
print pygame.image.get_extended()
以有价值的方式获取输出,可能会有所帮助,具体取决于您获得的收益以及以下问题之一。
尝试使用文件将整个路径添加到目录/文件夹。如果可行,则Python不在Path上,或者您只需要找到该目录/将Python引导至该目录即可。
尝试保存,读取和/或写入文件。如果在保存时自动假定使用相同的驱动器,则可能不错,并且只需将python引导至其所在的文件夹/目录即可。如果您将.py文件保存在与图像相同的目录/文件中,则通常不会出现问题。
做一个测试,用谷歌读写文件,然后尝试创建一个简单的.txt文件。
还可以在Tkinter中使用文件保存/打开/新建对话框。查看它假定在何处保存文件或从其中打开文件。
如果Python不是您的PATH的一部分,那么会有大量的教程和几种添加方法。其中一些功能包括使用内置的本机OS GUI,命令提示符/ Bash,甚至还有使它变得更容易的工具,只是google如何将python添加到PATH。您可以执行干净的卸载,即删除和删除所有内容,然后再次安装。
拥有两个不同的驱动器会使事情变得奇怪。根据上面的测试,您应该看到Python使用的驱动器。确保将当前文件和图像保存到同一目录。
安装了多个版本的Python会使事情变得怪异。即使您卸载Python,有时也无法在Windows中卸载所有内容,特别是Windows市场上的版本可能使事情变得混乱。老实说,如果是这样的话,我只是卸载,删除并重新安装到path。
有时使用第三方IDLE实际上可以使事情变得容易得多。我认为PATH类型问题最简单的是Pycharm。如果我没记错的话,它会让您创建虚拟环境,女巫是另一种固定问题的方法(google venv)。如果所有操作失败,则说明发生了奇怪的事情,您可以始终删除和卸载并删除所有Python跟踪,然后再次安装以确保没有留下任何跟踪,并将其添加到安装路径中。
关于将文件放入Python库文件夹的答案是完全错误的。不要这样做,这与将其保存到root几乎相同。还有,如果需要整个Python库文件夹,您将如何发布任何内容,如果我当时是那个家伙,由于纯粹的尴尬,我现在将删除该注释。
我遇到了这个问题,这是从Windows Market位置下载3.x版本得到的。它以某种方式设法将Python .exe直接保存在Windows文件夹中,以及其他怪异的东西。这使它变得如此令人沮丧,并且由于安装得如此怪异而难以修复,而且我不记得我从安装程序中获得了哪个版本以及从Marketplace中获得了哪个版本。我只想避开Marketplace,就可以得到一些时髦的Windows子系统,也有“ Linux”发行版。
答案 3 :(得分:-1)
我遇到了同样的问题。试图找出相同的教程
我修复它的方式。
这是安装pygame的地方,直到我把图像放在那里它才能工作。
bif =“C:/Python26/Lib/site-packages/bg.jpg”
具有图像文件的完整位置。注意斜杠是向前转的,如“/”
我尝试使用单反斜杠和双反斜杠,就像“\”和“\”一样,但都没有用。
尝试所有不同的方法,并确保所有内容拼写正确,并且您的图像就在您所说的位置,并且您获得了正确的文件名(.jpg,.JPG或.jpeg)您可以只看在图像文件的属性。
答案 4 :(得分:-1)
也许您的图像太大了。首先使用其他图像处理应用程序缩小图像,然后重试。