2017-10-21 80 views
0

在每次更新中,我的精灵都会根据变量(OBJECT_X)调整自身的大小,但是当OBJECT_X发生变化时,精灵会变得更加像素化。我已经尝试在每次更新中重新加载图像,但这确实滞后于游戏。有什么建议么?pygame中的Pixilating精灵

import pygame 

screen = pygame.display.set_mode((1000, 600)) 
background = pygame.Surface((1000, 600)) 

OBJECT_SIZE = 500 

Tree = pygame.image.load("Resourses/Objects/Tree.png").convert_alpha() 

while True: 
    Tree = pygame.transform.scale(Tree, (OBJECT_SIZE, OBJECT_SIZE) 
    screen.blit(Tree, 500, 300)) 

    pygame.display.flip() 

回答

1

如果您想避免质量损失,请不要修改原始pygame.Surface/image。该transform.scale函数返回原始图像的一个新的,缩放版本(不得到缩放过程中修改),所以你可以把它分配给一个新的名字:

TREE = pygame.image.load("Resourses/Objects/Tree.png").convert_alpha() 

while True: 
    scaled_tree = pygame.transform.scale(TREE, (OBJECT_SIZE, OBJECT_SIZE) 
    screen.blit(scaled_tree, 500, 300)) 

PEP 8建议使用大写字母变量的常量和小写字母。