在 Independent Class Python2.7.1 中访问 Class 变量
Accessing Class Variable in Independent Class Python2.7.1
我有一个关于 Python 中的 class 个变量的问题。
我正在尝试为 RPG 编写一个简单的攻击 class,我需要在这个 class 中访问我的武器 class 和角色 [=31= 的变量】,但三者之间并无继承关系。由于所有线程都在继承,我无法在网上找到帮助。
下面是每个class的代码示例:
class Character(pygame.sprite.Sprite):
def __init__(self, hp, image, speed, x, y):
super(Character, self).__init__()
self.image = image
self.rect = self.image.get_rect().move(x, y) #initial placement
self.hp = hp
class Weapon(Item): #Parent class item is a sprite class
def __init__(self, name, value, image, x, y, dmg):
super(Weapon, self).__init__(name, value, image, x, y)
self.dmg = dmg
class Attack(object):
def __init__(self, Weapon, Character):
self.Weapon = Weapon
self.Character = Character
self.Character.hp -= self.Weapon.dmg
更新#####缩进纠正
class Attack(object):
def __init__(self, Weapon, Character):
self.Weapon = Weapon
self.Character = Character
self.Character.hp -= self.Weapon.dmg
当我尝试 运行 我的程序时,出现以下错误:
File "classes.py", line 136, in <module>
class Attack(object):
File "classes.py", line 141, in Attack
self.Character.hp -= self.Weapon.dmg
NameError: name 'self' is not defined
知道如何从攻击 class 中的角色 class 访问 hp 变量吗?最后,我还需要在攻击 class.
中访问武器 class 的 dmg 变量
self.Character.hp -= self.Weapon.dmg
的缩进有问题。此代码应该有效:
class Attack(object):
def __init__(self, Weapon, Character):
self.Weapon = Weapon
self.Character = Character
self.Character.hp -= self.Weapon.dmg
我有一个关于 Python 中的 class 个变量的问题。
我正在尝试为 RPG 编写一个简单的攻击 class,我需要在这个 class 中访问我的武器 class 和角色 [=31= 的变量】,但三者之间并无继承关系。由于所有线程都在继承,我无法在网上找到帮助。
下面是每个class的代码示例:
class Character(pygame.sprite.Sprite):
def __init__(self, hp, image, speed, x, y):
super(Character, self).__init__()
self.image = image
self.rect = self.image.get_rect().move(x, y) #initial placement
self.hp = hp
class Weapon(Item): #Parent class item is a sprite class
def __init__(self, name, value, image, x, y, dmg):
super(Weapon, self).__init__(name, value, image, x, y)
self.dmg = dmg
class Attack(object):
def __init__(self, Weapon, Character):
self.Weapon = Weapon
self.Character = Character
self.Character.hp -= self.Weapon.dmg
更新#####缩进纠正
class Attack(object):
def __init__(self, Weapon, Character):
self.Weapon = Weapon
self.Character = Character
self.Character.hp -= self.Weapon.dmg
当我尝试 运行 我的程序时,出现以下错误:
File "classes.py", line 136, in <module>
class Attack(object):
File "classes.py", line 141, in Attack
self.Character.hp -= self.Weapon.dmg
NameError: name 'self' is not defined
知道如何从攻击 class 中的角色 class 访问 hp 变量吗?最后,我还需要在攻击 class.
中访问武器 class 的 dmg 变量self.Character.hp -= self.Weapon.dmg
的缩进有问题。此代码应该有效:
class Attack(object):
def __init__(self, Weapon, Character):
self.Weapon = Weapon
self.Character = Character
self.Character.hp -= self.Weapon.dmg