将更改的精灵组添加到普通列表(pygame)

时间:2018-03-25 12:45:10

标签: python pygame sprite

我已开始在pygame中制作一款平台游戏。在游戏中,我想使用&time;时间扭曲'选项,允许玩家返回游戏中的前一个点,所有变量与该点相同,例如如果他们在那时没有击败敌人但是后来击败敌人,那么在时间扭曲之后敌人应该重新出现。

为此,我使用列表每秒存储有关游戏的关键细节。所有这些似乎都与一件事情有所不同:敌人此时并没有回到他们的状态。

我发现这是因为在向列表添加精灵组(在本例中为enemyList)时,它会用最新的一个替换存储在上一个列表中的所有敌人列表,所以这段代码:

    self.timewarpList.append([self.currentTime, self.presentLevel.enemyList])
    print(self.timewarpList)

每秒返回一次:<​​/ p>

[[14, <Group(1 sprites)>]]

[[14, <Group(1 sprites)>], [13, <Group(1 sprites)>]]

[[14, <Group(1 sprites)>], [13, <Group(1 sprites)>], [12, <Group(1 sprites)>]]

[[14, <Group(1 sprites)>], [13, <Group(1 sprites)>], [12, <Group(1 sprites)>], 
[11, <Group(1 sprites)>]]

[[14, <Group(0 sprites)>], [13, <Group(0 sprites)>], [12, <Group(0 
sprites)>],[11, <Group(0 sprites)>], [10, <Group(0 sprites)>]]

[[14, <Group(0 sprites)>], [13, <Group(0 sprites)>], [12, <Group(0 sprites)>],
 [11, <Group(0 sprites)>], [10, <Group(0 sprites)>], [9, <Group(0 sprites)>]]

有谁知道为什么会这样?以及我如何解决这个问题,以便我的价值观不会发生变化?谢谢:))

0 个答案:

没有答案