首先,如果这是一个菜鸟问题,我道歉。我搜索但找不到答案。
我决定去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很新,并且来自其他语言,我怀疑我只是遗漏了一些明显的东西,但是对于我的爱,我似乎无法找到它。
如果有人能指出我正确的方向,我将不胜感激。