pygame 中的 Pixilating 精灵

Pixilating sprite in pygame

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

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 函数 returns 原始图像的新缩放版本(在缩放期间不会被修改),因此您可以为其指定一个新名称:

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建议常量使用大写字母,变量使用小写字母。