2 回答
TA贡献1757条经验 获得超7个赞
你也可以这样做:self.first_point = (int(0), int(0))asint不是占位符,而是声明一个变量是一个整数str('0')将打印'0'你也可以输入这个
zero = 0
str(zero) #'0'
int(zero) #0
而且您不需要放置 rgb 元组,因为您可以将它们存储在这样的变量中
black = (0, 0, 0)
Display = pygame.display.set_mode((800, 600))
Display.fill(black)
TA贡献1836条经验 获得超13个赞
好的,我设法使它工作。你们都是对的,我现在应该知道我不能通过占位符,所以我想出了解决我的问题的方法如下:
class Archer(Unit):
def __init__(self, colour, first_point, second_point, third_point):
self.first_point = first_point
self.second_point = second_point
self.third_point = third_point
position = [self.first_point, self.second_point, self.third_point]
super().__init__(colour, position)
print(self.position)
self.triangle = pygame.draw.polygon(game_window, colour, self.position)
self.triangle_outline = pygame.draw.polygon(game_window, gold, self.position, 5)
self.triangle_inline = pygame.draw.polygon(game_window, gold, self.position, 5)
基本上我必须在超级函数之前声明三点自变量以及位置,以便我可以将它们作为“位置”传递给父类初始化程序。这个真的很有用!!
添加回答
举报