我有一个基于pygame表面的游戏类,我将它初始化为:
game_obj(pygame.Surface)
def __init__(self, x, y, width, height):
super(game_obj, self).__init__((width, height)
在游戏的后期我希望对象改变大小,所以我再次调用super(),但它看起来不是正确的大小,或者当我填充它时没有正确填充。我还需要做些什么吗?
仅使用super()
不会改变它。使用super().__init__()
可以改变它,但我宁愿用新的大小创建新的game_obj
实例,并将旧实例中的元素复制到新实例,并删除旧实例。
或者我会创建具有两个表面的对象 - 更小和更大 - 并保持两者。