我用Pygame用Python构建游戏。我创建了一个充当按钮的类。点击后,它会循环显示各种状态(稍后会做更多的事情。)
我需要的是它们的网格,我可以动态调整大小。我有一个函数迭代并分配类对象坐标并制作网格(图像生成但最终是静态的),但我不确定它是否正确创建了对象。即使它确实如此,当函数结束时它们会从内存中丢弃,因为它们是本地的。
我看了很多东西,人们说使用字典来存储动态创建的对象,但我需要类对象仍然能够使用它们的功能。有没有办法用动态名称迭代一组类对象并保留它们?我可以手动制作一个巨大的网格,但我真的不必明确创建并为对象分配100个或更多坐标。
答案 0 :(得分:1)
字典(或列表,或其他) 答案。我不明白为什么你会认为将实例存储在容器中意味着你无法访问他们的方法。你可以和以前完全一样。
例如,如果您的班级有方法" my_method"你可以在从字典中检索到的那个类的对象上调用它:
my_dict['my_instance'].my_method()