Pygame顯示文字的實(shí)現(xiàn)示例
使用Pygame顯示文字的步驟如圖1所示。
圖1 顯示文字的步驟
1 Pygame的初始化
通過(guò)以下代碼實(shí)現(xiàn)Pygame的初始化。
import pygame pygame.init()
其中,第1行代碼的作用是在程序中導(dǎo)入pygame模塊;第2行代碼的作用是實(shí)現(xiàn)pygame的初始化。
2 屏幕的創(chuàng)建
使用如下代碼實(shí)現(xiàn)屏幕的創(chuàng)建
screen_size = 500, 500 screen = pygame.display.set_mode(screen_size)
其中,第1行代碼定義了表示屏幕大小的變量screen_size,該變量的類型是元組;第2行代碼通過(guò)pygame的display模塊中的set_mode()函數(shù)創(chuàng)建屏幕。set_mode()函數(shù)的作用是初始化用來(lái)顯示的窗口或屏幕,該函數(shù)的返回值是Surface對(duì)象。
相關(guān)鏈接1 Surface,是在Pygame中定義的對(duì)象,是一塊矩形區(qū)域,用來(lái)表示要顯示的圖像;可以把Surface理解為畫布,在該畫布上面進(jìn)行繪畫。
3 字體的創(chuàng)建
通過(guò)pygame的font模塊來(lái)創(chuàng)建字體,如下代碼所示。
myfont = pygame.font.Font(None, 60)
其中,在Pygame的font模塊中定義的Font()函數(shù)的主要作用是從指定的文件中創(chuàng)建一個(gè)新的字體對(duì)象;其中第一個(gè)參數(shù)表示指定的字體文件,None表示使用默認(rèn)字體;第二個(gè)參數(shù)表示字體的高度,單位是像素。該函數(shù)的返回值是Font類對(duì)象。
4 字體的渲染
pygame的font模塊中沒(méi)有提供將文字直接顯示在Surface的方法,因?yàn)檫@種直接顯示的方法可能會(huì)導(dǎo)致顯示的閃爍。可以先在內(nèi)存中創(chuàng)建一個(gè)新的Surface,將要顯示的文字渲染(render)到該Surface中,最后將這個(gè)新的Surface在屏幕中顯示。而以上步驟可以通過(guò)Font類的render()函數(shù)實(shí)現(xiàn),代碼如下所示。
white = 255,255,255 textImage = myfont.render('Hello Pygame', True, white)
第1行代碼定義了字體的顏色,用變量white表示,該變量的類型是元組;第2行代碼通過(guò)Font類的對(duì)象myfont調(diào)用render()函數(shù)創(chuàng)建一個(gè)新的Surface,并將要顯示的文字渲染到Surface中,其中第一個(gè)參數(shù)表示要顯示的內(nèi)容,第二個(gè)參數(shù)表示是否使用抗鋸齒效果,該參數(shù)是布爾類型,True表示使用抗鋸齒效果,使用該效果后,顯示字體的邊緣變得平滑;Flase表示不使用抗鋸齒效果,此時(shí)字體的邊緣會(huì)有鋸齒;第三個(gè)參數(shù)表示字體的顏色。
5 文字的顯示
通過(guò)如下代碼在屏幕中顯示文字
blue = 0,0,255 screen.fill(blue) screen.blit(textImage, (100, 100)) pygame.display.update()
其中,第1~2行將屏幕的背景設(shè)置為藍(lán)色;第3行通過(guò)screen調(diào)用Surface類的blit()函數(shù)將“4 渲染字體”中創(chuàng)建的Surface也就是textImage,在屏幕中顯示,其中blit()函數(shù)的第一個(gè)參數(shù)表示要顯示的Surface,第二個(gè)參數(shù)顯示Surface的起點(diǎn)坐標(biāo);第4行代碼調(diào)用pygame的display模塊中的update()函數(shù)更新屏幕顯示,也就是將Surface在屏幕中顯示出來(lái)。
通過(guò)以上代碼顯示的效果如圖2所示。
圖2 顯示效果
到此這篇關(guān)于Pygame顯示文字的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Pygame顯示文字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
tensorflow入門:TFRecordDataset變長(zhǎng)數(shù)據(jù)的batch讀取詳解
今天小編就為大家分享一篇tensorflow入門:TFRecordDataset變長(zhǎng)數(shù)據(jù)的batch讀取詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01解讀Scrapy回調(diào)函數(shù)callback傳遞參數(shù)的方式
這篇文章主要介紹了解讀Scrapy回調(diào)函數(shù)callback傳遞參數(shù)的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12Python實(shí)現(xiàn)socket庫(kù)網(wǎng)絡(luò)通信套接字
socket又叫套接字,實(shí)現(xiàn)網(wǎng)絡(luò)通信的兩端就是套接字。分為服務(wù)器對(duì)應(yīng)的套接字和客戶端對(duì)應(yīng)的套接字,本文給大家介紹Python實(shí)現(xiàn)socket庫(kù)網(wǎng)絡(luò)通信套接字的相關(guān)知識(shí),包括套接字的基本概念,感興趣的朋友跟隨小編一起看看吧2021-06-06python利用蒙版摳圖(使用PIL.Image和cv2)輸出透明背景圖
這篇文章主要介紹了python利用蒙版摳圖(使用PIL.Image和cv2)輸出透明背景圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Python使用re模塊實(shí)現(xiàn)正則表達(dá)式操作指南
在Python中需要通過(guò)正則表達(dá)式對(duì)字符串進(jìn)?匹配的時(shí)候,可以使??個(gè)python自帶的模塊,名字為re,下面這篇文章主要給大家介紹了關(guān)于Python使用re模塊實(shí)現(xiàn)正則表達(dá)式操作的相關(guān)資料,需要的朋友可以參考下2022-07-07使用python實(shí)現(xiàn)一個(gè)瀏覽器自動(dòng)化的腳本
最近工作中有這樣一個(gè)需求:客戶反饋在瀏覽器操作過(guò)程中,重復(fù)流程操作太頻繁,能不能讓瀏覽器自動(dòng)操作完成?所以本文給大家介紹了如何使用python實(shí)現(xiàn)一個(gè)瀏覽器自動(dòng)化的腳本,感興趣的朋友可以參考下2024-04-04Keras之自定義損失(loss)函數(shù)用法說(shuō)明
這篇文章主要介紹了Keras之自定義損失(loss)函數(shù)用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06