2013-09-16 99 views
1

我试图显示消息队列,但我不明白为什么我收到类型错误。'pygame.Surface'对象不可调用

下面的整个错误。

Traceback (most recent call last): 

** IDLE Internal Exception: 

File "C:\Python27\lib\idlelib\run.py", line 298, in runcode 
    exec code in self.locals 

File "C:\Documents and Settings\Mohammad Raza\Desktop\Python Scripts\messageQueue.py", line 28, in <module> 

screen.blit(font.render(text, True, (0,0,0)) (0, y)) 

TypeError: 'pygame.Surface' object is not callable 

代码:

import pygame 
from pygame.locals import * 
from sys import exit 


pygame.init() 

SCREEN_SIZE = (800, 600) 
screen = pygame.display.set_mode(SCREEN_SIZE,0,32) 

font = pygame.font.SysFont("arial",16); 
font_height = font.get_linesize() 
event_text= [] 

while True: 

    event = pygame.event.wait() 
    event_text.append(str(event)) 
    event_text = event_text[-SCREEN_SIZE[1]/font_height:] 

    if event.type == QUIT: 
     exit() 

    screen.fill((255,255,255)) 

    y = SCREEN_SIZE[1]-font_height 
    for text in reversed(event_text): 
     screen.blit(font.render(text, True, (0,0,0)) (0, y)) 
     y -= font_height 


    pygame.display.update() 

回答

3

缺少逗号:

screen.blit(font.render(text, True, (0,0,0)), (0, y))