how to create a multicolor "font-string" in pygame??
Diez B. Roggisch
deets at nospam.web.de
Thu Nov 9 18:31:48 EST 2006
Diez B. Roggisch schrieb:
> Iacopo.Marmo at gmail.com schrieb:
>> Hi! I need to manipulate multicolor strings, i.e. strings with a color
>> associated with each letter.
>> Any suggestions?
>
> There is no support for multi-color strings as such in pygame. If you
> use a fixed-width font, things are easy. Just create the strings one
> after another using spaces as prefix. E.g.
>
> back = (0,0,0)
> font = pygame.font.Font(font_fn, size)
> images = []
> for i, c in enumerate("colored string"):
> s = " " * i + c
> color = color_for_index(i)
> s_image = font.render(s, True, color, back)
> images.append(s_image)
Don't drink and code... *sigh*
Of course you can just create an equally dimensioned image for each
character and each color (cached or not, however you like it), and just
blit these one after another, offsetting them with the character width.
Diez
More information about the Python-list
mailing list