【发布时间】:2019-07-21 18:10:50
【问题描述】:
我对 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(船)
文件“C:\Users\Areeb Irfan.PyCharmCE2018.3\config\scratches\game_functions.py”,第 5 行,在 check_events 如果 event.type==pygame.QUIT():
TypeError: 'int' 对象不可调用
【问题讨论】:
-
我已经使用了另外 3 个名为 game_functions、ship、settings 的模块。
-
您在错误消息中有线索 - 它表明您存在问题。如果你看到“collable”这个词,那么你对
()有问题 -
pygame.QUIT是整数值,不是函数。您不能将()与pygame.QUIT一起使用 -
用
event.type==pygame.QUIT替换event.type==pygame.QUIT() -
你可以在traceback的最后一行顺便看到这个。