Хотя вот вариант. Сохранять координату отдельно.
Тока нужно доработать ещё get_position. Пусть лучше возвращяет сохранённые координаты.
class Sprite(pygame.sprite.Sprite): #Наследование класса Sprite
def __init__(self, filename, startx, starty):
pygame.sprite.Sprite.__init__(self)#инициализация __init__ в классе Sprite
self.image = pygame.image.load(filename)
self.rect = self.image.get_rect()
self.rect.x = startx
self.rect.y = starty
self.x = float(startx)
self.y = float(startx)
def render(self, screen, pos = (0, 0), angle = 0):
#Поворачиваю картинку
image = pygame.transform.rotate(self.image, angle)
self.rect = image.get_rect(center=self.rect.center)
screen.blit(image, self.rect)
def move(self, forward, backward, angle, path):
rad_alfa = angle * (math.pi/180)
if forward:
self.x = self.x + (path * math.cos(rad_alfa))
self.y = self.y - (path * math.sin(rad_alfa))
self.rect.x = self.x
self.rect.y = self.y
if backward:
self.y +=path*math.sin(rad_alfa)
self.x -=path*math.cos(rad_alfa)
self.rect.x = self.x
self.rect.y = self.y
def get_position(self):
return self.rect.center