0

我正在尝试在 pygame 屏幕上创建一个透明表面,但不幸的是无法正常工作。主表面显示正常,但我试图生成的表面根本不显示。

import pygame as pg
from pygame.locals import *

pg.display.init()
h = 640
w = 480
_display = pg.display.set_mode((h,w))
_display.fill(pg.Color(0,0,0))

_active_surface = pg.Surface((h,w))
#_active_surface.set_colorkey((255,0,255))
_active_surface.fill(pg.Color(255,0,255))
_display.blit(_active_surface, (h,w))

while True:
    for i in pg.event.get():
        if i.type == QUIT:
            pg.quit()
    pg.display.flip()  
4

1 回答 1

5
_display.blit(_active_surface, (h,w))

我认为最后一个参数是应该发生 blitting 的位置的左上角。在这里,您给出了 (h,w),它等于屏幕的大小,因此 blitting 发生在屏幕外。尝试使用 (0,0) 代替。

于 2013-06-13T07:36:25.073 回答