我有一个场景,我需要能够用半透明多边形覆盖场景(可以使用支持alpha绘制的pygame.gfxdraw.filled_polygon
轻松完成),但问题是半透明的数量有多少淡入一定距离(例如,如果多边形一端的alpha值为255,则另一端为0,并通过多边形从255到0混合)。我通过绘制渐变然后在顶部绘制一个蒙版来实现具有渐变的绘图形状,但我从未遇到过这样的情况,所以我不知道该怎么做。我需要一个可以实时运行的解决方案。有没有人有任何想法?
答案 0 :(得分:0)
你可能已经想到了这一点并且已经决定反对它,但如果预先绘制多边形,它实际上会更好地实时运行。假设没有很多不同类型的多边形,你甚至可以根据需要调整它们的大小,你可以节省CPU。
另外,假设所有的多边形都是规则的,你可以只有几个不同的等边三角形,在它们的不同方向上有渐变,以产生必要的形状。
您可以做的另一件事是定义您正在绘制的多边形,而不是在该形状内绘制保存在计算机上的渐变图像。
您可以做的最后一件事是用C或C ++构建程序(或程序的某些CPU密集型部分)。在编译期间编译和自动优化,这些语言比python快得多,更适合你想要做的事情。