ПРОБЛЕМА:

Если мой курсор мыши находится за пределами окна, моя игра запускается, но если мой курсор находится внутри консоли, выдает эту ошибку

Traceback (most recent call last):
  File "c:/Users/jackw/Desktop/New folder/main.py", line 36, in <module>
    if event.type == pg.QUIT():
TypeError: 'int' object is not callable

Вот мой код

import pygame as pg
from Config import *
from bin import *
# initialising pygame
pg.init()

class Game():

    def background(self,background):

        window.blit(background, (0,0))





# defining classes for use
g = Game()

# game loop
while isrunning:

    # making sure the game is running on a constant clock

    time.tick(fps)

    # add background

    g.background(gameback)

    # setting up events 
    for event in pg.event.get():
        # closing window event
        if event.type == pg.QUIT():
            isrunning = False
        # input events


    # show finished frame 
    pg.display.flip()


# Last code before closing the window


# closing the window
pg.quit()

Большинство переменных определены в разных файлах файл конфигурации файл gamevars

Эта программа отлично работает на macOS Я получаю эту ошибку только на Windows 10. вот видео об ошибке

2
IsraelProductionzz 20 Дек 2019 в 20:44

2 ответа

Лучший ответ

Pg.QUIT является значением перечисления. Это в основном целое число. Ваш код добавил скобки по какой-то причине; это неверный синтаксис. Используйте просто

if event.type == pg.QUIT:

То, что вы написали, смутно

if event.type == 4():
2
Prune 20 Дек 2019 в 17:49

QUIT не является методом или функцией, это константа перечислителя, которая указывает тип события (см. pygame.event.Event() ).

Снимите скобки, чтобы решить проблему:

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

if event.type == pg.QUIT:
3
Rabbid76 20 Дек 2019 в 17:49