pygame中的Pixilating精灵
问题描述:
在每次更新中,我的精灵都会根据变量(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()
答
如果您想避免质量损失,请不要修改原始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建议使用大写字母变量的常量和小写字母。