我想做的是在for循环中为pygame绘制函数创建一个过程变量名。但我就是不知道该怎么做。
我试着遵循一些我看到的关于动态命名的指南,但它们只展示了为int型和字符串创建变量名。
我想给所有的矩形他们自己的名字和一个数字在最后,以显示他们是在哪个循环创建的。但是我不知道如何将变量的名称从一个循环更改为另一个
这是我需要命名的变量:pygame.draw。矩形(屏幕,自我。颜色,(自我。Pos [0] + self。尺度* I, (self。Pos [1] + (self。缩放* x)), self。规模,self.scale)
示例:rect_(procedural number) = pygame.draw.rect(screen, self.color, (self.pos[0] + self.scale * i , (self.pos[1] + (self.scale * x)), self.scale, self.scale))
def invRect(self):
tset = 0
for x in range(self.rows):
for i in range(self.columns):
tset += 1
this is the function i want to give a dynamic name -----> pygame.draw.rect(screen, self.color, (self.pos[0] + self.scale * i , (self.pos[1] + (self.scale * x)), self.scale, self.scale))
您可以创建一个dict,用于存储指向函数的指针(如果不添加括号,则变量充当函数)。如果添加括号,则只存储函数的结果→return value
.
funcs = dict({})
funcs[variable_name] = pygame.draw.rect
之后你可以把它叫做
funcs[variable_name](parameters)