小智 6
如果您想要使 pygame Surface 对象“干净”,即擦除所有图像,在每个游戏循环中将新图像传输到它,并保持对等像素 alpha 而不创建新表面,您可以填充它,但不是纯色,而是使用透明色
from pygame import Color, Surface
empty = Color(0,0,0,0) #The last 0 indicates 0 alpha, a transparent color
field = Surface((width, height), flags=SRCALPHA)
#Inside the game loop
field.fill(empty)
Run Code Online (Sandbox Code Playgroud)
*对不起,我的英语不好,还在学习中
当我不关心性能时,我使用:
mysurface.fill((0,0,0))
Run Code Online (Sandbox Code Playgroud)
这将在整个表面上绘制指定的颜色(在本例中为黑色)。这就是你所说的“清楚”吗?
哦,当然,您需要在执行此操作后“翻转”表面以使其在屏幕上可见。
我不知道你用的是什么API,所以这里是一个模糊的答案:
在几乎所有情况下,“清除”表面只是将与表面大小相同的彩色四边形传输到其上。使用的颜色是您想要的透明颜色。
如果您知道如何进行 blit,只需将一个相同大小的白色四边形 blit 到表面上即可。
| 归档时间: |
|
| 查看次数: |
15125 次 |
| 最近记录: |