怎么知道convert()/ convert_alpha()是否已经在pygame.Surface上运行了?

时间:2015-12-02 01:02:01

标签: python pygame pygame-surface

标题说明了一切,真的。我正在编写处理来自多个来源的pygame.Surface个对象的函数。在其他操作中,这些函数将确保它们返回的Surface个对象至少convert()次{(1,根据用户偏好,convert_alpha() ed),这是优化所需的它们用于当前显示模式下的blitting。但是我不想不必要地运行convert()convert_alpha()方法,因为它们创建了表面的副本,因此占用了时间和内存。我如何判断是否需要这样做?我在S.get_flags()之前和之后查看了S = S.convert_alpha()的输出,但似乎没有改变。 S.get_alpha()的标量值确实发生了变化(从255变为0),但我不相信它是有意义的还是可靠的(并且它无法解决在案例中是否必须.convert()的问题其中alpha混合期望。)

1 个答案:

答案 0 :(得分:1)

我不相信现有的API提供了这样做的方法。我认为预期的用途是转换所有你的表面(为什么你不会?)所以你永远不必担心它。

也许有可能继承$client->setAccessType("offline")并覆盖转换方法,以便按照您希望的方式设置标志。