You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pygame中精灵阴影变为纯黑色:两种显示方式的差异问题

Pygame图像Blit后阴影效果异常问题

player.png
阴影对比图

我发现将玩家图像blit到Surface后再加载到显示器,与直接将整张图像加载到显示器相比,阴影效果存在差异,且阴影变为纯黑色。原本以为是set_colorkey设置导致的问题,但移除该设置后仍无济于事。

import pygame

pygame.init()
display = pygame.display.set_mode((1280, 736))
display.fill('#555358')
clock = pygame.time.Clock()


if __name__ == '__main__':
    image_1 = pygame.Surface((16, 16)).convert_alpha()
    image_1.blit(
        pygame.image.load('player.png').convert_alpha(),
        (0, 0),
        (16, 32, 16, 16))
    image = pygame.transform.scale(image_1, (16 * 3, 16 * 3))
    image.set_colorkey((0, 0, 0))
    display.blit(image, (0, 96))

    image_2 = pygame.image.load('player.png').convert_alpha()
    image_2 = pygame.transform.scale(image_2, (288 * 3, 240 * 3))
    display.blit(image_2, (0, 0))

    while True:
        # Process player inputs.
        for event in pygame.event.get():

            if event.type == pygame.QUIT:
                pygame.quit()
                raise SystemExit

        pygame.display.flip()
        clock.tick(60)

内容的提问来源于stack exchange,提问作者Gigi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:30:59