7

我正在用 pygame 在 python 中编写游戏,需要将文本渲染到屏幕上。

我想用带有轮廓的一种颜色渲染此文本,这样我就不必担心文本显示在哪种背景上。

pygame.font 似乎不支持直接做这种事情,我想知道是否有人有任何好的解决方案来实现这一点?

4

2 回答 2

4

一种快速而肮脏的方法是使用轮廓颜色多次渲染您的文本,在文本位置周围的圆圈上少量移动:

          1
       8 | 2
        \ | /
         \|/
     7----*----3
         /|\
        / | \
       6 | 4
          5

编辑:你已经更快了!不过我不会删除我的答案,这个 ASCII 艺术太好了,值得活下去!

编辑 2:正如 OregonGhost 所提到的,您可能需要更多或更少的步骤来进行轮廓渲染,具体取决于您的轮廓宽度。

于 2009-07-10T13:35:38.920 回答
3

我可以给你一个快速而糟糕的解决方案:

打印文本 8 次,围绕它,再加上一次内部文本,像这样

UUU
UIU
UUU

U 代表外部颜色,I 代表内部颜色。

于 2009-07-10T13:35:01.230 回答