游戏由于“显示表面退出”错误而停止运行

时间:2020-08-18 18:16:00

标签: python pygame

我目前正在用pygame制作潜水艇游戏,当我将所有级别放入一个python程序时遇到错误。由于某些原因,在第二级和第三级之间切换不起作用。它引发错误:

File "C:\Users\Moji podatki\Documents\Python programi\Podmornica\submarine.py", line 820, in naris
screen.blit(mina, (self.x1, self.y1))
pygame.error: display Surface quit

我试图用return语句停止每个级别(功能),但没有运气,我也搜索了互联网,发现没有任何对我有用的东西。显然,该错误应该是程序结束时正在运行的东西,但是我在那一行什么都没找到。这是代码:

class Mina():
    def __init__(self, x1, y1, x2, y2):
        self.x1 = x1
        self.y1 = y1
        self.x2 = x2
        self.y2 = y2
        self.eksplozija1 = False
        self.eksplozija2 = False
        self.okvir1 = (self.x1, self.y1, 84, 196)
        self.okvir2 = (self.x2, self.y2, 84, 196)
        self.ekspl_okvir1 = (self.x1, self.y1, 268, 216)
        self.ekspl_okvir2 = (self.x2, self.y2, 268, 216) 
    def naris(self):
        if not self.eksplozija1:
            self.okvir1 = (self.x1, self.y1, 84, 196) 
            #pygame.draw.rect(screen, (255,125,125), self.okvir, 2)
            screen.blit(mina, (self.x1, self.y1))
        else:
            pygame.draw.rect(screen, (0,0,0), self.ekspl_okvir1, 2) 
            screen.blit(ekspl, (self.x1, self.y1))
            eksplozija.play()
        if not self.eksplozija2:
            self.okvir = (self.x2, self.y2, 84, 196) 
            #pygame.draw.rect(screen, (255,125,125), self.okvir, 2)
            screen.blit(mina, (self.x2, self.y2))
        else:
            #pygame.draw.rect(screen, (0,0,0), self.ekspl_okvir2, 2) 
            screen.blit(ekspl, (self.x2, self.y2))
            eksplozija.play() 
igralec = podmornica(150, 300, 10)
podmornca = nasprotnik(-1300, 250, 5, 1900, 250, 5)
eksploziv = Mina(1000, 510, -1000, 510) 
metki = []
def grafika():
    clock.tick(60)
    screen.blit(ozadje, (0,0))
    screen.blit(dno, (dnox, 500))
    igralec.naris()
    podmornca.premik()
    eksploziv.naris()
    for metek in metki:
        metek.naris(screen)
    pygame.display.flip()

0 个答案:

没有答案