我的pygame代码有一个很奇怪的问题,我无法破译。我上网查过了,但没有发现有用的东西。每次我试着玩我的游戏,从第二级切换到第三级都是行不通的。游戏崩溃了,给了我下一个错误:
File "C:\Users\Moji podatki\Documents\Python programi\Podmornica\submarine.py", line 883, in naris
screen.blit(mine, (self.x1, self.y1))
pygame.error: display Surface quit
但是当我检查代码的这一部分时,我无法理解为什么会出现这个错误,因为我检查了,如果我写了这一部分,会切换,我做到了:
if self.life1 < 0 and self.life2 < 0:
screen.blit(end, (312, 384))
pygame.display.flip()
pygame.time.wait(1000)
level3()
然而,错误消息指向这一部分,我不知道为什么:
def draw(self):
if not self.explosion1:
self.frame1 = (self.x1, self.y1, 84, 196)
#pygame.draw.rect(screen, (255,125,125), self.frame, 2)
screen.blit(mine, (self.x1, self.y1))
else:
pygame.draw.rect(screen, (0,0,0), self.expl_frame1, 2)
screen.blit(expl, (self.x1, self.y1))
explosion.play()
if not self.explosion2:
self.frame = (self.x2, self.y2, 84, 196)
#pygame.draw.rect(screen, (255,125,125), self.frame, 2)
screen.blit(mine, (self.x2, self.y2))
else:
#pygame.draw.rect(screen, (0,0,0), self.expl_frame2, 2)
screen.blit(expl, (self.x2, self.y2))
explosion.play()
有人能解释一下问题出在哪里吗
如果它因没有响应而崩溃,可能是因为
time.sleep(1000)
,如果我是你,我会在主游戏循环的末尾添加pygame.display.flip()
,如果你希望结束屏幕停留在那里添加我真的希望这有帮助
相关问题 更多 >
编程相关推荐