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 で pygame を見つける方法を誰かが知っている場合は、返信してください。

ありがとうございました :)

4

1 に答える 1

6

pygame.pyスクリプトに名前を付けた(または、スクリプトと同じディレクトリに同じ名前の別のファイルを作成した可能性がある)ことを約 83.4% 確信しています。

これを行うと、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 に答える