我正在构建一个模拟生成一堆士兵的精灵。他们穿过地图朝着一些枪支跑去。我希望枪支射击士兵。我正试图将士兵类的矩形x和y值传递给塔对象。
以下是相关代码:
class soldier(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.rect.centerx = soldier_starting_positionx
self.rect.centery = soldier_starting_positiony
def x(self):
return (self.rect.centerx)
class gaurdtower(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.rect.centerx = tower_starting_positionx
self.rect.centery = tower_starting_positiony
def update(self):
print (soldier.x)
这两个类都在for循环中生成多个实例,并被添加到all_sprite pygame组。
打印输出是这样的行列表:
函数soldier.x在0x00000286C296F0D0
我想要的是一个简单的整数。
答案 0 :(得分:0)
soldier.x引用士兵类中的一个函数。类不包含任何实际的士兵数据。你需要引用一个士兵类的对象。
例如:
soldier = soldier()
soldier.x() # should return the soldiers x value.
在尝试这样的事情之前,我先看一下教程:http://learnpythonthehardway.org/book/ex40.html