我正在尝试获得一个透明的 SDL_Surface (在其上粘贴半透明矩形),这就是我所做的:
surface := SDL_CreateRGBSurface(SDL_SWSURFACE, XMAX*TILE_SIZE,
YMAX*TILE_SIZE, BPP, 0, 0, 0, SDL_ALPHA_TRANSPARENT);
SDL_FillRect(surface, nil, SDL_MapRGBA(surface^.format, 0, 0, 0, 0));
这仍然不起作用,我得到的表面是黑色而不是透明的。任何想法?
奖励:为了避免多个半透明矩形相互重叠,有什么办法可以删除这些矩形,然后对新的矩形进行 blit(无需再次对背景进行 blitting ...)?