这是我的代码...
import pygame as pyg
import sys
#Game constants
SCREENSIZE = (1400, 800)
running = True
disp = pyg.display.set_mode(SCREENSIZE)
tilemap = [
pyg.image.load("Grass.png").convert()
]
for y in range(8):
for x in range(8):
disp.blit(tilemap[0], (300+x*32 - y*32, 200+x*16 + y*16))
while running:
for event in pyg.event.get():
if event.type == pyg.QUIT:
sys.exit()
pyg.display.update()
这是我电脑上的结果。我正在使用 Windows 11 和带有集成显卡的 AMD Rysen 7 5700G...
这是我用来构建等距世界的 Assets 图像
为什么我的图像中会出现所有这些黑色三角形?
最佳答案
您必须使用convert_alpha()
而不是convert()
。 convert
适用于完全实体表面并丢弃 alpha 信息。
pyg.image.load("Grass.png").convert()
pyg.image.load("Grass.png").convert_alpha()
另请参阅How do I blit a PNG with some transparency onto a surface in Pygame? .
关于python-3.x - Pygame 错误地渲染等距图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72761699/