【发布时间】:2016-04-15 03:12:52
【问题描述】:
这是我的代码
class Game_Events(Setup, Game_Setup):
def __init__(self):
super(Game_Events, self).__init__()
super(Game_Events, self).game_setup(self.map_filename)
但是在导入我得到的类时:
TypeError: Error when calling the metaclass bases
Cannot create a consistent method resolution
order (MRO) for bases Game_Setup, Setup
这是Setup的init:
class Setup(object):
def __init__(self):
self.HERO_MOVE_SPEED = 20 # pixels per second
self.MAP_FILENAME = 'resources/tmx/Fesnoria Town.tmx'
self.MUSIC_FILENAME = "resources/music/Forest_Song.mp3"
这是Game_Setup的init:
class Game_Setup(Setup):
def __init__(self):
super(Game_Setup, self).__init__()
我需要先导入Setup 类,因为它包含self.map_filename,它下面的其他类需要它。
有谁知道如何解决这个问题?
【问题讨论】:
-
请提供 Setup 和 Game_Setup 类。似乎他们没有使用 super 并造成严重破坏......
-
但它们真的很长!
-
只有 _init_ 和 game_setup 方法就可以了。正如我所说,问题在于这些类以某种方式滥用“超级”......
-
好的,我给你放好了