我有自己创建的数据结构,称为characters
。
此数据结构具有以下方法
addCharacters(self, Character, number)
这允许用户向屏幕添加任意数量的字符。在此方法中,__init__
构造函数中初始化的数组为append
以添加Character
对象。
我有一个班级screen
,在这个班级我有以下方法
addCharacter(self, Character, x, y)
这会在屏幕上绘制角色,如下所示:
self.screen.blit(character.image,(x,y)
我在运行代码的主类中调用这些方法。创建表示游戏运行的while循环。在此while循环中,必须必须绘制对象,因此screen.blit
必须在while循环中发生。
以下是问题:当我在while循环外调用方法myarray.addCharacter(character,4)
时,
for characters in charactersList:
screen.addCharacter(character, random.randrange(0, screen.width), random.randrange(0, world.screen))
图像不规则在不同位置的屏幕上显示。我理解这是因为 for
循环中的while
循环。我不能在while
循环之外添加字符,因为它不会绘制到屏幕上。
有没有办法可以在不同的位置设置此数据结构中每个对象的位置,而不进行常量blitting?
提前致谢!
答案 0 :(得分:1)