pygame如何实现等边三角形和圆移动的同时同心旋转?

我想要用pygame写消灭病毒这一游戏,现在写到病毒圆形后面一直旋转的三角形,使用pygame.transform.rotate却不能与圆同心旋转

# 病毒类
class Viruses(pygame.sprite.Sprite):

    def __init__(self, image, position, x_speed, y_speed,screen):
        '''
        初始化
        :param image: 图片名字
        :param position: 位置
        :param x_speed: 水平的速度
        :param y_speed: 竖直的速度
        '''
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load(image)
        self.rect = self.image.get_rect()
        self.rect.center = position
        self.X_speed = x_speed
        self.Y_speed = y_speed
        self.image2 = pygame.image.load('images/8 (13).png')
        self.rect2 = self.image.get_rect()
        self.rect2.centerx = self.rect.centerx
        self.rect2.centery = self.rect.centery - 40

         #可见性
        self.visible = True
        self.screen = screen

        self.angle = 1

    ''' 移动 '''
    def update(self, *args):
        self.rect = self.rect.move(self.X_speed, self.Y_speed)
        self.rect2 = self.rect2.move(self.X_speed, self.Y_speed)

    def check_edges(self):
        #如果位于屏幕边缘,就返回True
        screen_rect = self.screen.get_rect()
        if self.rect.right >= screen_rect.right:
            return True
        elif self.rect.left <= 0:
            return True
        else:
            return False

    def blitme(self):
        #在指定位置绘制三角
        self.new_image2 = pygame.transform.rotate(self.image2, self.angle)
        self.angle += 1
        newRect = self.new_image2.get_rect()
        # newRect.left, newRect.top = self.rect2.left, self.rect2.top
        newRect.center = self.rect2.center
        self.screen.blit(self.new_image2,newRect)

屏幕更新函数

def update_screen(ai_settings,screen,ship,virals,bullets,jishen,back,flash,bombs,bflash,sanjiaos):
    #更新屏幕上的图像,并切换到新屏幕
    #每次循环时都重绘屏幕
    back.blitme()
    bullets.draw(screen)
    for viral in virals:
        viral.blitme()
    virals.draw(screen)
    flash.draw(ship)
    ship.blitme()
    jishen.blitme()
    for bomb in bombs:
        if bomb.visible:
            bomb.draw()
    #让最近绘制的屏幕可见
    pygame.display.flip()

每次三角形都不能和圆同心旋转

图片说明图片说明

希望大佬们给我一些帮助,非常感谢

首先,圆形转不转,肉眼应该看不出来的

其次:for viral in virals:
viral.blitme()

virals.draw(screen)
这两个重复了吧
最后
def blitme(self):
newRect = self.new_image2.get_rect()旋转图片不需要重新获取位置数据吧

你想问的事我没看出来,不好意思
我的思路:获取圆心的位置,找到一个点,这个点到圆心的距离是固定的,角度随时间增加。就是三角函数