(Python)为列表中的所有对象运行函数
我有一个叫做Wall的类,有一个叫做draw的函数,它在pygame屏幕上画一条线。我希望能够为所有墙对象运行“绘制”功能,而不必返回“绘制”部分。 这是这门课的代码(Python)为列表中的所有对象运行函数,python,class,Python,Class,我有一个叫做Wall的类,有一个叫做draw的函数,它在pygame屏幕上画一条线。我希望能够为所有墙对象运行“绘制”功能,而不必返回“绘制”部分。 这是这门课的代码 class Wall(): def __init__(self, Pos1, Pos2): self.name = self self.Pos1 = Pos1 self.Pos2 = Pos2 print("wall initalized") def draw(self): pygame
class Wall():
def __init__(self, Pos1, Pos2):
self.name = self
self.Pos1 = Pos1
self.Pos2 = Pos2
print("wall initalized")
def draw(self):
pygame.draw.line(screen, white, self.Pos1, self.Pos2, 3)
pygame.draw.circle(screen, white, self.Pos1, 5)
pygame.draw.circle(screen, white, self.Pos2, 5)
print("wall drawn")
如果有所有墙对象的列表,可以执行以下操作:
for wall in list_of_walls:
wall.draw()
您发布的代码具有不正确的缩进,并且缺少预期的使用尝试。请从后面重复一遍。你想要什么功能还不完全清楚;“绘图部分”不是出现在代码中的概念,因为您没有“部分”。我建议您仔细阅读循环和
apply
方法。然后进行有效的编码尝试。如果你有麻烦,就把情况公布出来。