Текст на экране Python с шрифтом и цветом?
Есть ли способ показать текст в окне pygame с помощью python?
Мне нужно отобразить кучу живой информации, которая обновляется, и скорее не будет делать изображение для каждого символа, который мне нужен.
Можно ли нажимать текст на экран?
Ответы
Ответ 1
Да. В pygame можно нарисовать текст:
# initialize font; must be called after 'pygame.init()' to avoid 'Font not Initialized' error
myfont = pygame.font.SysFont("monospace", 15)
# render text
label = myfont.render("Some text!", 1, (255,255,0))
screen.blit(label, (100, 100))
Ответ 2
Вы можете использовать свои собственные шрифты, установив путь шрифта, используя pygame.font.Font
pygame.font.Font(filename, size): return Font
Пример:
pygame.font.init()
font_path = "./fonts/newfont.ttf"
font_size = 32
fontObj = pygame.font.Font(font_path, font_size)
Затем визуализируйте шрифт с помощью fontObj.render и blit на поверхность, как в ответе veiset выше.:)
Ответ 3
У меня есть код в моей игре, который отображает живую оценку. Это функция быстрого доступа.
def texts(score):
font=pygame.font.Font(None,30)
scoretext=font.render("Score:"+str(score), 1,(255,255,255))
screen.blit(scoretext, (500, 457))
и я вызываю это, используя это в моем цикле while:
texts(score)
Ответ 4
Я написал обертку, которая будет кэшировать текстовые поверхности, а только повторно рендерить при загрязнении. googlecode/ninmonkey/nin.text/demo/