49

Вопрос по python – Python отображать текст со шрифтом и цветом?

Есть ли способ отображения текста в окне Pygame с помощью Python?

Мне нужно отобразить кучу живой информации, которая обновляется и не будет создавать изображения для каждого нужного мне персонажа.

Можно ли перетаскивать текст на экран?

<a href="http://www.pygame.org/docs/ref/font.html" rel="nofollow noreferrer">pygame.org/docs/ref/font.html</a> ?

Apr 09, 2012, 6:13 PMот

4ответа

1

Я написал оболочку, которая будет кешировать текстовые поверхности, перерисовывать только при загрязнении.GoogleCode / ninmonkey / nin.text / демо /

6

У меня есть код в моей игре, который отображает текущий результат. Это функция быстрого доступа.

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)
54

Да. Можно нарисовать текст в 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))
8

Вы можете использовать свои собственные шрифты, установив путь к шрифту с помощью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, и переместите к поверхности, как в ответе veiset выше. :)

RelatedQuestions