0

我刚开始用 pygame 在 python 中开发游戏,我有以下代码:

bif="main_background.jpg"
mif="player_head.png"

import pygame, sys
from pygame.locals import *

pygame.init()
screen=pygame.display.set_mode((640,360),0,64)

background=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(background, (0,0))

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

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

    pygame.display.update()

我在 Python 中收到以下错误:

Traceback (most recent call last):
  File "C:/Users/Eier/Documents/Code Developments/pygame.py", line 4, in <module>
    import pygame, sys
  File "C:/Users/Eier/Documents/Code Developments\pygame.py", line 5, in <module>
    from pygame.locals import *
ImportError: No module named locals
>>> 

如果有人知道如何让 python find pygame 请回复。

谢谢 :)

4

1 回答 1

6

我大约 83.4% 确定您命名了您的脚本pygame.py(或者可能在与您的脚本相同的目录中创建了另一个同名的文件)。

如果你这样做,Python 无法知道你在import pygame. 它可能是您的脚本,也可能是已安装的软件包——它们都具有相同的名称。

最终发生的是import pygame导入您的脚本,然后在您的脚本中from pygame.locals import *查找一个名为的模块locals。由于您的脚本是一个脚本,而不是一个包,Python 只会感到困惑并打印出令人困惑的ImportError.

Python 3.x 为您提供了一些解决方法,但 2.x 没有,我猜您正在使用 2.x。

所以,解决方案是:

  • 将您的脚本重命名为mygame.py.
  • 删除与您的脚本位于同一目录中的任何其他文件,名为pygame.py.
于 2013-04-30T20:51:45.990 回答