我正在用python制作一个潜艇游戏,但是当我尝试运行它时,解释器给了我一个非常奇怪的错误: TypeError:参数1必须是pygame.Surface,而不是类型 我试图在网上搜索我的答案,但这似乎不是很常见的错误。我也试着自己去发现错误,但我觉得一切都很好。下面是我认为错误所在的部分代码:
mina = pygame.image.load('mina.png')
class mina():
def __init__(self, x , y):
self.x = x
self.y = y
self.eksplozija = False
def naris(self):
screen.blit(mina, (self.x, self.y))
igralec = podmornica(150, 300, 10)
eksploziv = mina(700, 350)
metki = []
clock = pygame.time.Clock()
def grafika():
clock.tick(60)
screen.blit(ozadje, (0,0))
igralec.naris()
#line, that doesn't work:
eksploziv.naris()
for metek in metki:
metek.naris(screen)
pygame.display.flip()
变量
mina
和类mina
具有相同的名称。类mina
隐藏变量mina
。您需要重命名其中一个。我建议将calssmina
重命名为Mina
,因为Python类使用大写字母约定(PEP 8 Style Guide for Python Code):class mina():
eksploziv = mina(700, 350)
相关问题 更多 >
编程相关推荐