Skip to main content
 首页 » 编程设计

python之如何使用 rotozoom 在 pygame 中设置缩放和旋转动画

2025年05月04日9webabcd

<分区>

好吧,我只是想先让它在缩放之前使用旋转,然后一旦我确定 rotozoom 应该很容易。对于我的生活,我似乎无法让它工作。这是一个简单的类,我希望对象随时间旋转以及在 x 方向上进行变换。转换工作正常,但我无法让它旋转。

class Puff(pygame.sprite.Sprite): 
 
    def __init__(self, screen): 
        pygame.sprite.Sprite.__init__(self) 
        self.screen = screen 
        try: 
            self.imagePuff = pygame.image.load(os.path.join("Images","puff.tga")).convert() 
        except: 
            raise UserWarning, "Unable to find Puff image"     
        self.imagePuff.set_colorkey((0,0,255))            
 
        self.image = self.imagePuff 
        self.rect = self.image.get_rect() 
        self.x = self.screen.get_width()/3 
        self.y = self.screen.get_height()/3+10 
        self.rect.center = (self.x, self.y) 
 
        self.lifespan = 60 
        self.speed = 1 
        self.count = 0 
        self.angle = 0 
 
    def update(self): 
        self.calcPos() 
        self.rect.center = self.x, self.y 
        self.transform() 
        if self.count > self.lifespan: 
            self.kill() 
 
    def calcPos(self): 
        self.x -= 5 
        self.y = self.y 
 
    def transform(self): 
        self.count += 1.1 
        self.angle += self.count*25 
        self.newTrans = pygame.transform.scale(self.copyImage, (400,400)) 
        self.newRect = self.newTrans.get_rect() 
        self.newRect.center = self.rect.center