2016-07-18 11 views
0

私はPython(およびPyGame)でテキストアドベンチャータイプのゲームを開発しようとしていましたので、テキストを画面に繰り返しブリットするモジュールが必要でした。いくつか検索した後、KTextSurfaceWriterをダウンロードしてインストールしました。それから私は Pythonモジュールの問題:TypeError: 'module'オブジェクトが呼び出せません

私のコードは、(http://www.pygame.org/project-KTextSurfaceWriter-1001-.html

ここに提供されたテキストでのデモに従ってみました:

from ktextsurfacewriter import KTextSurfaceWriter 

import pygame 
from pygame.locals import * 
import pygame.font 
pygame.font.init() 
screen = pygame.display.set_mode((640,480), 0, 32) 

surface = pygame.surface ((400, 400), flags = SRCALPHA, depth = 32) 
surface.fill((255,255,255,255)) 

def blitSurface(): 
    screen.blit(surface, (50,50)) 
    pygame.display.update() 

blitSurface() 

def waitForUserAction(): 
    while True: 

     for event in pygame.event.get(): 
      if event.type == QUIT: 
       import sys 
       sys.exit() 
      if event.type == KEYDOWN: 
       return 

waitForUserAction() 

しかし、これは9行目で、モジュールのエラーをバックスロー私はPythonとにかなり新たなんだ、ほとんどのこの問題のために私が見たソリューションの中には、すでに始めから持っている 'from [module] import'コードを使用することが含まれていました。

+2

あなたは首都を考えていましたか? Pythonは大文字小文字を区別します。 – user2357112

答えて

0

あなたのコードとsoureコードを見ました。あなたのコードで

surface = pygame.surface ((400, 400), flags = SRCALPHA, depth = 32) 

、「表面」とは、Pythonのモジュールである、小文字なので、PythonインタプリタはあなたのErr MSGを伝えます。

surface = pygame.Surface((400,400), flags=SRCALPHA, depth=32) 

ソースコードでは、 "Surface"は大文字で、これはクラスでもよい。

+0

私はまだ大文字と小文字を区別するPythonがどのようにできるかに慣れていないと思います。助けてくれてありがとう! – Deck

2

あなたはpygame.surfaceモジュールを呼び出している:

surface = pygame.surface ((400, 400), flags = SRCALPHA, depth = 32) 

pygame.surface.Surface()を使用するか(資本Sに注意してください)pygame.Surface()を使用しますか。これらはどちらも同じクラスですが、pygame.surfaceは定義されているモジュールです。

関連する問題