最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

中文編程pygame游戲教程7_顯示文字

2023-08-25 17:07 作者:52中文編程  | 我要投稿

在pygame中,文字不能直接顯示到屏幕, 需要先渲染成圖像。先創(chuàng)建具有給定字體大小的對象。再將文本轉(zhuǎn)換為具有給定顏色的圖像。 最后將圖像信息用 貼圖()方法 傳輸?shù)狡聊簧?。下面是步驟:


創(chuàng)建字體后,無法更改其大小。 對象用于從字符串創(chuàng)建對象。Pygame沒有提供將文本寫入對象的直接方法。該方法必須是 用于從文本創(chuàng)建 表層(Surface)對象,然后可以將其傳送到屏幕上。 該方法只能呈現(xiàn)單行文字。 不能呈現(xiàn)換行符。

初始化字體

上面的代碼字體.系統(tǒng)字體(空, 48)中第一個參數(shù)是空, 代表使用默認字體, 默認字體不支持中文, 顯示中文必須指定字體名稱, 比如字體.系統(tǒng)字體('SIMHEI', 48)是黑體, 字體的名稱必須是運行代碼的電腦所安裝的, 可以用字體.獲取可用字體()方法獲取系統(tǒng)安裝的系統(tǒng)名稱.對于windows電腦,可以打開C:\Windows\Fonts查看安裝字體, 參數(shù)使用的字體名稱是字體文件的文件名, 不一定是顯示的名稱, 我們在查看黑體字體的屬性可以看到它的字體文件名是simhei, 其他的字體也是如此.但是有些中文字體可能不能正常顯示, 建議使用前測試一下.


字體.獲取可用字體()返回所有已安裝字體的列表。 以下代碼檢查系統(tǒng)上有哪些字體以及有多少, 并將它們打印到控制臺:


呈現(xiàn)文本

字體對象可以將給定的文本呈現(xiàn)為圖像。在下面的示例中, 我們在文本圖像周圍放置一個藍色邊框:


然后,我們再創(chuàng)建兩種字體并渲染文本:


最后,文本圖像像常規(guī)圖像一樣被傳送到屏幕上:


結(jié)果如下:




這是完整的代碼:


使用鍵盤編輯文本

鍵盤事件可用于編輯文本。首先,我們創(chuàng)建一個文本保存在一個字符串變量中,并將其渲染為圖像:


然后我們定義邊界矩形,進而定義一個很窄的矩形作為光標 并列到文本右側(cè):


在事件循環(huán)中,我們添加?鍵盤按下事件?。如果按鍵是 BACKSPACE(退格鍵) 并且字符串的長度大于 0,然后我們刪除最后一個字符, 否則,我們將新字符附加到文本變量:


然后我們渲染修改后的文本,更新邊框,并放置光標, 更新的光標位置:


為了使光標更明顯,我們讓它每 0.5 秒閃爍一次。 我們使用 time.time() 浮點值來執(zhí)行此操作:





遺憾的是, 這樣并不能輸入中文. 下面的代碼中使用了easygui庫的輸入框, 當按下鍵盤的ctrl+v時, 彈出輸入框輸入后會插入到文本右側(cè).
完整代碼如下:



中文編程pygame游戲教程7_顯示文字的評論 (共 條)

分享到微博請遵守國家法律
兴仁县| 彭泽县| 利津县| 湘西| 洛扎县| 平武县| 南宁市| 宣城市| 资溪县| 大埔县| 岳池县| 芜湖县| 鄂伦春自治旗| 分宜县| 垣曲县| 昭通市| 金乡县| 修水县| 勐海县| 盐边县| 灵璧县| 桂平市| 张家口市| 静安区| 克东县| 长春市| 招远市| 辉南县| 山东| 多伦县| 金阳县| 长顺县| 广水市| 上高县| 东安县| 武邑县| 土默特左旗| 双城市| 齐河县| 南京市| 利津县|