Объект int не вызывается? - PullRequest
0 голосов
/ 28 января 2019

Я получаю сообщение об ошибке «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 голосов
/ 28 января 2019

если event.type == pygame.QUIT ():

QUIT является целым числом, его нельзя вызвать как функцию.Снять скобки.

0 голосов
/ 28 января 2019

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

0 голосов
/ 28 января 2019

Ошибка в этой строке:

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

pygame.QUIT является просто константой (на самом деле int константа) и не должна вызываться - вы просто проверяете, если event.type имеет то же значение, что и оно.

if event.type == pygame.QUIT:

исправит это за вас.

0 голосов
/ 28 января 2019

В строке 50. pygame.QUIT - это целое число.Удалить ()

while not gameExit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT: # here
            Exit = True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...