'int'对象不可调用?

时间:2019-01-28 02:25:29

标签: python pygame

我不断收到错误消息“ int object not callable”,但是即使环顾了互联网并且堆栈溢出,我也无法推断出修复方法。我以为可能是pygame.quit函数引起的,但是我不确定我的到底是什么问题。

# Imports--------------------------------------------------------------------------------------------------------------#

import pygame


# initialization-------------------------------------------------------------------------------------------------------#

pygame.init()

# Flags----------------------------------------------------------------------------------------------------------------#

gameExit = False

# Variables -----------------------------------------------------------------------------------------------------------#

display_height = 500
display_width = 500

# Colors --------------------------------------------------------------------------------------------------------------#

FUCHSIA = (255, 0, 255)
PURPLE = (128, 0, 128)
TEAL = (0, 128, 128)
LIME = (0, 255, 0)
GREEN = (0, 128, 0)
OLIVE = (128, 128, 0)
YELLOW = (255, 255, 0)
ORANGE = (255, 165, 0)
RED = (255, 0, 0)
MAROON = (128, 0, 0)
SILVER = (192, 192, 192)
GRAY = (128, 128, 128)
BLUE = (0, 0, 255)
NAVY = (0, 0, 128)
AQUA = (0, 255, 255)
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)

# Draw Screen----------------------------------------------------------------------------------------------------------#

win = pygame.display.set_mode((display_width, display_height))
pygame.display.set_caption("Airbender Training")
Clock = pygame.time.Clock()


# Main Loop------------------------------------------------------------------------------------------------------------#

while not gameExit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT():
            Exit = True

    win.fill((0, 0, 0))
    Clock.tick(60)
    pygame.display.update()

pygame.quit()

4 个答案:

答案 0 :(得分:2)

pygame.QUIT是数字常数,而不是函数。通常,大写变量名称表示某种常量。

如果打印出pygame.QUIT,则会得到12(一个整数)。用pygame.QUIT()放在括号后基本上是说12(),这显然没有意义。

所以只需更改:

if event.type == pygame.QUIT():

if event.type == pygame.QUIT:

您可以在http://www.pygame.org/docs/ref/event.html上查看所有不同类型的事件

答案 1 :(得分:1)

此行中的错误:

if event.type == pygame.QUIT():

pygame.QUIT只是一个常量(实际上是一个int常量),不应该被调用-您只需检查event.type是否具有与其相同的值。 / p>

if event.type == pygame.QUIT:

将为您修复它。

答案 2 :(得分:0)

第50行。pygame.QUIT是一个整数。删除()

while not gameExit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT: # here
            Exit = True

答案 3 :(得分:0)

如果event.type == pygame.QUIT():

QUIT是一个整数,您不能像函数一样调用它。删除括号。