我自己创建了一个数据结构,叫做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
循环之外,因为它不会绘制到屏幕上。你知道吗
有没有一种方法,我可以设置的位置,每个对象在这个数据结构都在不同的位置,没有不断的光点?你知道吗
提前谢谢!你知道吗
我不确定我是否正确理解了这个问题。据我所知,您希望在屏幕的随机位置绘制“字符”,但在外
while
循环的每次迭代中,这些位置必须保持不变。我认为这样做有两种可能性:x
和y
添加到Character
类本身,或者Character
对象映射到它们的(x, y)
位置。你知道吗我不知道那个} 进行映射。你知道吗
Character
类是什么(你自己的类,或者从某个库中?),所以第一种可能是不可能的。对于第二种方法,Character
对象需要是hashable。如果这也不可能,您可以创建一个可哈希包装类,或者只使用对象的^{方法2的代码可能看起来像这样:
相关问题 更多 >
编程相关推荐