2017-10-21 120 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建議使用大寫字母變量的常量和小寫字母。