即使角色类和animation_dir定义明确,为什么还会出现AttributeError报告?

时间:2019-07-08 16:36:12

标签: python python-3.x

当我在游戏中添加动画帧时,我决定为每个角色创建特定的文件夹和标题(例如,角色1总是在其自己的文件夹中查找其攻击帧),并为此创建了一个变量,称为animation_dir。但是,每当我尝试在游戏的资源文件中使用它时,它都会不断报告错误:

  

AttributeError:类型对象'Character'没有属性'animation_dir'。

我尝试添加一种名为charanimationdir = character.animation的实例,但这根本不起作用。

资源文件:

ScrimitarAttackAnimation = Animation(Character.animation_dir + "SwordAttack", 4)
NevanStrumAnimation = Animation(Character.animation_dir + "Guitar Strum", 3)
ClawSlashAnimation = Animation(Character.animation_dir + "ClawSlash", 3)

字符类:

def __init__(self, nanimation_dir):
    self.animation_dir = nanimation_dir

有了这个,我希望能够在执行某些操作时将当前的角色图形更改为上面显示的动画图形。

1 个答案:

答案 0 :(得分:0)

如果你上课

class Character:
    def __init__(self, nanimation_dir):
        self.animation_dir = nanimation_dir 

然后类Character没有属性animation_dir

但是,如果您创建此类的对象,

mychar = Character("mydir")

然后对象mychar具有属性mychar.animation_dir

要有效访问Character.animation_dir,您必须生成一个类属性

class Character:
    animation_dir = "mydir"

请参见Class Objects