Python对象数组返回错误的嵌套对象引用

时间:2014-05-06 15:53:21

标签: python python-3.x pygame

首先,如果这是一个菜鸟问题,我道歉。我搜索但找不到答案。

我决定去Python和Pygame,为我的孩子写一个游戏:)。 在这个过程中,我最终得到了一个相当完整的嵌套对象结构:

class Game:
    map = []
    ...

map包含Map个对象:

class Map:
    map = [] # array of class Tile instance (sued for drawing the map and determining blocked tiles etc.
    objects = [] # array of class Object instances - actual game objects such as monsters, items etc.

随着游戏的进行,我使用Game.map个对象填充Map。这些内容(在Game类方法中):

self.current_level += 1
self.map.insert(self.current_level, world.Map(self, self.screen, self.font))
self.map[self.current_level].generate()

问题是当我回到以前的水平时:

self.current_level -= 1

地图生成正确,但对象数组中的所有对象仍然指向最后一个地图的对象。在我看来,对象数组应该包含在每个Map实例中。

我对Python很新,并且来自其他语言,我怀疑我只是遗漏了一些明显的东西,但是对于我的爱,我似乎无法找到它。

如果有人能指出我正确的方向,我将不胜感激。

0 个答案:

没有答案