小编Ome*_*mer的帖子

为什么添加轮播后我的程序真的变得很滞后,如何解决这个问题?

我正在使用pygame制作游戏,并且有一个小行星类。当我在更新方法中添加旋转并运行程序时,小行星移动得非常缓慢且缓慢,甚至它们的图像也比以前更差。

我不确定该如何解决以及为什么会这样。这是课程:

class enemy(pygame.sprite.Sprite):
def __init__(self, x, y, width, height):
    pygame.sprite.Sprite.__init__(self)
    self.width = width
    self.height = height
    self.speedx = random.randrange(-3,3)
    self.speedy = random.randrange(5,15)
    self.image = random.choice(meteor_image)
    self.rect = self.image.get_rect()
    self.rect.x = x
    self.rect.y = y
    self.rotation = 0
    self.rotation_speed = random.randrange(-8,8)
    self.last_update = pygame.time.get_ticks()

def draw(self,win):
    win.blit(self.image,(self.rect.x,self.rect.y))

def rotate(self):
    time_now = pygame.time.get_ticks()
    if time_now - self.last_update > 50:
        self.last_update = time_now
        self.rotation = (self.rotation + self.rotation_speed) % 360
        new_meteor_image = pygame.transform.rotate(self.image, self.rotation)
        old_center = self.rect.center
        self.image = new_meteor_image
        self.rect = …
Run Code Online (Sandbox Code Playgroud)

python pygame python-2.7 pygame-surface pygame-clock

5
推荐指数
1
解决办法
68
查看次数