首页 > 解决方案 > Python:“int”对象不可调用

问题描述

我对python相当陌生。我正在为一个简单的外星人入侵游戏编写代码,但我收到了这个错误。

import sys
import pygame
from settings import Settings
from ship import Ship
import game_functions as gf

def run_game():
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Game")
    ship = Ship(screen)
    bg_color = (230, 230, 230)

    while True:
        gf.check_events(ship)
        ship.update()
        gf.update_screen(ai_settings, screen, ship)
        for event in pygame.event.get():
            if event.type==pygame.QUIT():
                sys.exit()
        screen.fill(ai_settings.bg_color)
        ship.blitme()
        pygame.display.flip()
run_game()

我知道我不小心调用了一些整数值,但我不知道我哪里出错了。

我也检查了这些行

文件“C:/Users/Areeb Irfan/.PyCharmCE2018.3/config/scratches/AlienGame.py”,第 25 行,在 run_game()
文件“C:/Users/Areeb Irfan/.PyCharmCE2018.3/config/scratches/ AlienGame.py”,第 16 行,run_game gf.check_events(ship)
文件“C:\Users\Areeb Irfan.PyCharmCE2018.3\config\scratches\game_functions.py”,第 5 行,check_events 如果 event.type== pygame.QUIT():
TypeError: 'int' object is not callable

标签: pythonpygame

解决方案


如您的错误消息所示,此行event.type==pygame.QUIT()是问题所在。该错误TypeError: 'int' object is not callable意味着您正在尝试调用一个 int,这意味着您正在尝试将一个 int 视为一个函数,这反过来意味着您()在一个 int 值之后有括号。该行中唯一有括号的地方是 afer pygame.QUIT,所以只需删除括号:

if event.type==pygame.QUIT:

推荐阅读