为什么要明确定义字符类和动画_dir上的属性报告



当我将动画帧添加到游戏中时,我绝对为每个字符制作了特定的文件夹和标题(例如,字符1总是在自己的文件夹中寻找其攻击框架(,我为它做了一个称为animation_dir的变量。但是,每当我尝试将其用于游戏中的资源文件中时,它都会不断报告错误:

attributeError:键入对象'字符'没有属性'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

这样,我希望能够将当前的字符图形更改为上述动画图形。

如果您有班级

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"

请参阅类对象

最新更新