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()