Python 3.x 类型错误:';布尔';对象在Pygame中不可调用

Python 3.x 类型错误:';布尔';对象在Pygame中不可调用,python-3.x,pygame,Python 3.x,Pygame,这是我的错误: 这是我的密码: import pygame import time pygame.init() pygame.display.set_caption('Platformer') class Game: def __init__(self): self.x=7 self.y=400 self.width=40 self.height=60 self.vel=7 self.ru

这是我的错误:

这是我的密码:

import pygame
import time
pygame.init()


pygame.display.set_caption('Platformer')
class Game:
    def __init__(self):
        self.x=7
        self.y=400
        self.width=40
        self.height=60
        self.vel=7
        self.run=True
        self.isJump=False
        self.jumpCount=10
        self.clock = pygame.time.Clock()
        self.clock.tick(60)
        self.flag = False
        self.win=pygame.display.set_mode((1200, 600))
    #def playerCollide():
    def GameLoop(self):
        while run:
            print(y)
            if self.flag == False:
                print('yes')

            pygame.time.delay(15)

            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    quit()
                    self.run == False
            keys = pygame.key.get_pressed()

            if self.flag == False and keys[pygame.K_SPACE] or keys[pygame.K_UP]:
                self.starttime = pygame.time.get_ticks()
                self.flag = True
                self.isJump=True
            if self.flag == True and pygame.time.get_ticks() - starttime >= 475:
                self.flag = False

            if keys[pygame.K_LEFT] and self.x > self.vel:
                self.x-=self.vel
            if keys[pygame.K_RIGHT] and self.x < 1200 - self.width - self.vel :
                self.x+=self.vel
            if not(self.isJump):
                if keys[pygame.K_DOWN] and self.y < 600 - self.height - self.vel:
                    self.y += 0

            else:
                if self.jumpCount >= -10:
                    self.y -= (self.jumpCount * abs(self.jumpCount)) * .55
                    self.jumpCount -= 1
                else:
                    self.jumpCount = 10
                    self.isJump = False
            self.win.fill((255,255,255))
            pygame.draw.rect(self.win, (0, 0, 0), (self.x,y, self.width, self.height))
            pygame.display.update()

g=Game()
g.run()
导入pygame
导入时间
pygame.init()
pygame.display.set_标题('Platformer'))
班级游戏:
定义初始化(自):
self.x=7
self.y=400
自宽=40
自身高度=60
self.vel=7
self.run=True
self.isJump=False
自跳计数=10
self.clock=pygame.time.clock()
自我时钟滴答(60)
self.flag=False
self.win=pygame.display.set_模式((1200600))
#def playerCollide():
def GameLoop(自我):
运行时:
打印(y)
如果self.flag==False:
打印('是')
pygame。时间。延迟(15)
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
pygame.quit()
退出
self.run==False
keys=pygame.key.get_pressed()
如果self.flag==False,并且键[pygame.K_SPACE]或键[pygame.K_UP]:
self.starttime=pygame.time.get_ticks()
self.flag=True
self.isJump=True
如果self.flag==True且pygame.time.get_ticks()-starttime>=475:
self.flag=False
如果键[pygame.K_LEFT]和self.x>self.vel:
self.x-=self.vel
如果键[pygame.K_RIGHT]和self.x<1200-self.width-self.vel:
self.x+=self.vel
如果不是(self.isJump):
如果键[pygame.K_DOWN]和self.y<600-self.height-self.vel:
self.y+=0
其他:
如果self.jumpCount>=-10:
self.y-=(self.jumpCount*abs(self.jumpCount))*.55
self.jumpCount-=1
其他:
self.jumpCount=10
self.isJump=False
self.win.fill((255255))
pygame.draw.rect(self.win,(0,0,0),(self.x,y,self.width,self.height))
pygame.display.update()
g=游戏()
g、 运行()
而不是呼叫:

g.run()
您需要拨打:

g.GameLoop()
因为
run
只是类中的一个布尔变量

g.GameLoop()