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

49

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

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

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

pygame.org/docs/ref/font.html ? cha0site

Ваш Ответ

4   ответа
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)
Это создает объект Font каждый раз, что тратит впустую циклы обработки.
Я рекомендую иметь кеш размеров используемых вами шрифтов. Просто определите словарь и сделайте так: если self.fonts.get (size) имеет значение None: self.fonts [size] = pygame.font.SysFont (None, size)
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 выше. :)

1

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

как это ответ на вопрос?
54

# 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))
@ maxhud: да. использованиеpygame.font.Font("path/to/font.ttf",size).
Я не уверен, но похоже, что вы можете. Согласно документацииfont.SysFont загружает шрифт из системных шрифтов (pygame.org/docs/ref/font.html#pygame.font.SysFont).
Хорошо, я могу установить шрифт, если на компьютере каким-либо образом не установлен шрифт? maxhud

Похожие вопросы