日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

python如何在pygame中設(shè)置字體并顯示中文詳解_python

作者:huadong_xiaolin ? 更新時(shí)間: 2023-03-20 編程語言

一、查看可用字體

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) #字體,字號(hào)

3.設(shè)置中文()見前2

#系統(tǒng)自帶
self.font = pygame.font.SysFont("SimHei", 32)  # 顯示中文

在網(wǎng)上下載一個(gè)中文字體文件,將這個(gè)文件與我們的程序放在同一個(gè)文件夾,如果是中文的文件名,將它改成英文文件名。例如,下載了迷你簡氈筆黑.TTF,將文件名改成了mnjzbh.ttf,并將程序的第一句改成:

self.font=pygame.font.Font('mnjzbh.ttf',32) # 顯示中文

三、附錄:常見系統(tǒng)字體對(duì)照表

一般的中文字體名,使用拼音即可,如 仿宋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

一個(gè)應(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對(duì)象,并使其居中
        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):
        """繪制一個(gè)用顏色填充的按鈕,再繪制文本"""
        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é)

原文鏈接:https://blog.csdn.net/huadong_xiaolin/article/details/126257202

欄目分類
最近更新