我在我编写的类中有一个方法,它将精灵移动到另一个类的实例。但是,每当我调用该方法时,我都会被告知 - 在第4行 - 方向尚未定义。这让我感到惊讶,因为我之前在线上定义了变量。
def move_towards(self, sprite, magnitude = 1, anchor = 'center'):
'''Moves the sprite towards another sprite by a specified magnitude'''
exec('direction = 360 - atan2(sprite.rect.' + anchor + '[1] - self.rect.centery, sprite.rect.' + anchor + '[0] - self.rect.centerx) * 180 / pi')
self.rect.x += magnitude * cos(radians(direction))
self.rect.y -= magnitude * sin(radians(direction))
如何解决这个问题,我真的不知道怎么做?
对于那些想知道的人,我正在使用exec函数,因为这是我知道在计算中使用特定锚点的唯一方法。