python如何在pygame中設(shè)置字體并顯示中文詳解
一、查看可用字體
import pygame print(pygame.font.get_fonts())
二、設(shè)置字體
1.使用系統(tǒng)字體
self.font=pygame.font.SysFont(None,48)#None系統(tǒng)默認(rèn)字體 self.font = pygame.font.SysFont("arial", 16)
2.使用字體文件
字體文件可以外下載
self.font = pygame.font.Font("my_font.ttf", 16) #字體,字號
3.設(shè)置中文()見前2
#系統(tǒng)自帶 self.font = pygame.font.SysFont("SimHei", 32) # 顯示中文
在網(wǎng)上下載一個中文字體文件,將這個文件與我們的程序放在同一個文件夾,如果是中文的文件名,將它改成英文文件名。例如,下載了迷你簡氈筆黑.TTF,將文件名改成了mnjzbh.ttf,并將程序的第一句改成:
self.font=pygame.font.Font('mnjzbh.ttf',32) # 顯示中文
三、附錄:常見系統(tǒng)字體對照表
一般的中文字體名,使用拼音即可,如 仿宋fangsong, 楷體kaiti
新細(xì)明體:PMingLiU
細(xì)明體:MingLiU
標(biāo)楷體:DFKai-SB
黑體:SimHei
宋體:SimSun
新宋體:NSimSun
仿宋:FangSong
楷體:KaiTi
仿宋_GB2312:FangSong_GB2312
楷體_GB2312:KaiTi_GB2312
微軟正黑體:Microsoft JhengHei
微軟雅黑體:Microsoft YaHei
一個應(yīng)用小例子
import pygame.font class BUtton: def __init__(self, ai_game, msg): """初始化按鈕屬性""" # msg是要在按鈕上顯示的文本 self.screen = ai_game.screen self.screen_rect = ai_game.screen.get_rect() # 設(shè)置按鈕的尺寸和其他屬性 self.width, self.height = 200, 50 self.buttom_color=(0,255,0) self.text_color=(255,255,255) self.font=pygame.font.SysFont(None,48) #創(chuàng)建按鈕的rect對象,并使其居中 self.rect=pygame.Rect(0,0,self.width,self.height) self.rect.center=self.screen_rect.center #按鈕的標(biāo)簽只創(chuàng)建一次 self._pre_msg(msg) def _pre_msg(self,msg): """將msg渲染為圖像,并使其在按鈕上居中""" self.msg_image=self.font.render(msg,True,self.text_color ,self.buttom_color) #布爾實(shí)參指定開啟還是關(guān)閉反鋸齒功能,反鋸齒讓文本的邊緣更平滑 self.msg_image_rect=self.msg_image.get_rect() #讓圖像文本在按鈕上居中 self.msg_image_rect.center=self.rect.center def draw_button(self): """繪制一個用顏色填充的按鈕,再繪制文本""" self.screen.fill(self.buttom_color,self.rect) self.screen.blit(self.msg_image,self.msg_image_rect)
附:在 Pygame 屏幕中添加文字
font = pygame.font.SysFont("freesansbold.ttf", 30) # 30:font size text = font.render("content", True, (0,0,0)) # (0,0,0) color of font self.window.blit(text,(10,10)) # (10,10) rect left top
總結(jié)
到此這篇關(guān)于python如何在pygame中設(shè)置字體并顯示中文的文章就介紹到這了,更多相關(guān)pygame設(shè)置字體并顯示中文內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pytorch使用Visdom進(jìn)行數(shù)據(jù)可視化的示例代碼
pytorch Visdom可視化,是一個靈活的工具,用于創(chuàng)建,組織和共享實(shí)時豐富數(shù)據(jù)的可視化,這個博客簡要介紹一下在使用Pytorch進(jìn)行數(shù)據(jù)可視化的一些內(nèi)容,感興趣的朋友可以參考下2023-12-12python2與python3爬蟲中g(shù)et與post對比解析
這篇文章主要介紹了python2與python3爬蟲中g(shù)et與post對比解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09Python強(qiáng)化練習(xí)之PyTorch opp算法實(shí)現(xiàn)月球登陸器
在面向?qū)ο蟪霈F(xiàn)之前,我們采用的開發(fā)方法都是面向過程的編程(OPP)。面向過程的編程中最常用的一個分析方法是“功能分解”。我們會把用戶需求先分解成模塊,然后把模塊分解成大的功能,再把大的功能分解成小的功能,整個需求就是按照這樣的方式,最終分解成一個一個的函數(shù)2021-10-10Python實(shí)現(xiàn)上下文管理器的示例代碼
這篇文章主要為大家詳細(xì)介紹了Python中實(shí)現(xiàn)上下文管理器的具體方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-07-07利用Python實(shí)現(xiàn)外觀數(shù)列求解
這篇文章主要介紹了利用Python實(shí)現(xiàn)外觀數(shù)列求解,文章利用舉例說明文章的主題內(nèi)容,具有一定的參考價值,需要的小伙伴樂意參考一下2022-03-03python使用Psutil模塊實(shí)現(xiàn)獲取計算機(jī)相關(guān)信息
psutil 是一個跨平臺的庫,用于獲取進(jìn)程和系統(tǒng)運(yùn)行狀態(tài)的信息,這篇文章主要為大家詳細(xì)介紹了python如何調(diào)用psutil模塊實(shí)現(xiàn)獲取計算機(jī)相關(guān)信息,有需要的小伙伴可以了解下2023-11-11python正則表達(dá)式之re.match()與re.search()的用法及區(qū)別
本文主要介紹了python正則表達(dá)式之re.match()與re.search()的用法及區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08