Python基于pygame實(shí)現(xiàn)的font游戲字體(附源碼)
本文實(shí)例講述了Python基于pygame實(shí)現(xiàn)的font游戲字體。分享給大家供大家參考,具體如下:
在pygame游戲開(kāi)發(fā)中,一個(gè)友好的UI中,漂亮的字體是少不了的
今天就給大伙帶來(lái)有關(guān)pygame中字體的一些介紹說(shuō)明
首先我們得判斷一下我們的pygame中有沒(méi)有font這個(gè)模塊
如果有的話才可以進(jìn)行接下來(lái)的操作:-)
我們可以這樣使用pygame中的字體:
當(dāng)然也可以使用系統(tǒng)中自帶的字體:
參數(shù)一:字體名稱(chēng)
參數(shù)二:字體大小
比較一下上面兩個(gè)方法,一個(gè)是自定義的字體,一個(gè)是系統(tǒng)自帶的字體,相對(duì)而言
自定義的字體要好一點(diǎn),因?yàn)樵趐ygame打包的過(guò)程中,可以把自定義的字體打包進(jìn)去
這樣就可以進(jìn)行很好的移植;而系統(tǒng)自帶的字體, 畢竟不是每個(gè)系統(tǒng)都有相應(yīng)的字體,
所以他的移植性不是很好,依賴性很大。
如果定義好了字體,那么我們應(yīng)該把字體顯示到suiface上面去,我們應(yīng)該這樣操作:
參數(shù)一:顯示的內(nèi)容
參數(shù)二:是否開(kāi)啟抗鋸齒,就是說(shuō)True的話字體會(huì)比較平滑,不過(guò)相應(yīng)的速度有一點(diǎn)點(diǎn)影響
參數(shù)三:字體顏色
參數(shù)四:字體背景顏色(可選)即可以這樣:
下面給出一個(gè)demo,說(shuō)說(shuō)pygame中字體的使用
在demo中,玩家可以使用鍵盤(pán)上的:上,下,左,右四個(gè)方向鍵進(jìn)行控制青蛙的移動(dòng),
在移動(dòng)的過(guò)程中,左下角會(huì)動(dòng)態(tài)記錄青蛙的位置情況。
代碼部分如下:
#python font import os, pygame from pygame.locals import * from sys import exit __author__ = {'name' : 'Hongten', 'mail' : 'hongtenzone@foxmail.com', 'Version' : '1.0'} if not pygame.font: print('Warning, fonts disabled') pygame.init() SCREEN_DEFAULT_SIZE = (500, 500) BG_IMAGE_NAME = 'bg.gif' FROG_IMAGE_NAME = 'frog.gif' TORK_FONT_NAME = 'TORK____.ttf' bg_image_path = os.path.join('data\\image', BG_IMAGE_NAME) frog_image_path = os.path.join('data\\image', FROG_IMAGE_NAME) tork_font_path = os.path.join('data\\font', TORK_FONT_NAME) if not os.path.exists(bg_image_path): print('Can\'t found the background image:', bg_image_path) if not os.path.exists(frog_image_path): print('Can\'t fount the frog image:', frog_image_path) if not os.path.exists(tork_font_path): print('Can\'t fount the font:', tork_font_path) screen = pygame.display.set_mode(SCREEN_DEFAULT_SIZE, 0, 32) bg = pygame.image.load(bg_image_path).convert() frog = pygame.image.load(frog_image_path).convert_alpha() tork_font = pygame.font.Font(tork_font_path, 20) frog_x, frog_y = 0, 0 frog_move_x, frog_move_y = 0, 0 while 1: for event in pygame.event.get(): if event.type == QUIT: exit() elif event.type == KEYDOWN: if event.key == K_LEFT: frog_move_x = -1 elif event.key == K_UP: frog_move_y = -1 elif event.key == K_RIGHT: frog_move_x = 1 elif event.key == K_DOWN: frog_move_y = 1 elif event.type == KEYUP: frog_move_x = 0 frog_move_y = 0 frog_x += frog_move_x frog_y += frog_move_y #print(frog_x, frog_y) screen.blit(bg, (0, 0)) position_str = 'Position:' + str(frog_x) + ',' + str(frog_y) position = tork_font.render(position_str, True, (255, 255,255), (23, 43,234)) screen.blit(position, (0, 480)) screen.blit(frog, (frog_x, frog_y)) pygame.display.update()
完整實(shí)例代碼代碼點(diǎn)擊此處本站下載。
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
用python實(shí)現(xiàn)英文字母和相應(yīng)序數(shù)轉(zhuǎn)換的方法
這篇文章主要介紹了用python實(shí)現(xiàn)英文字母和相應(yīng)序數(shù)轉(zhuǎn)換的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Python2比較當(dāng)前圖片跟圖庫(kù)哪個(gè)圖片相似的方法示例
這篇文章主要介紹了Python2比較當(dāng)前圖片跟圖庫(kù)哪個(gè)圖片相似的方法,結(jié)合實(shí)例形式分析了Python文件目錄操作及圖形運(yùn)算相關(guān)使用技巧,需要的朋友可以參考下2019-09-09使用python 的matplotlib 畫(huà)軌道實(shí)例
今天小編就為大家分享一篇使用python 的matplotlib 畫(huà)軌道實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python數(shù)據(jù)類(lèi)型中的元組Tuple
這篇文章主要介紹了Python數(shù)據(jù)類(lèi)型中的元組Tuple,元組可以理解為一個(gè)只讀列表,用()來(lái)標(biāo)識(shí),下文圍繞元組展開(kāi)詳細(xì)資料,需要的小伙伴可以參考一下2022-02-02Python pytest.main()運(yùn)行測(cè)試用例
這篇文章主要介紹了Python pytest.main()運(yùn)行測(cè)試用例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-12-12Python項(xiàng)目 基于Scapy實(shí)現(xiàn)SYN泛洪攻擊的方法
今天小編就為大家分享一篇Python項(xiàng)目 基于Scapy實(shí)現(xiàn)SYN泛洪攻擊的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python深入分析@property裝飾器的應(yīng)用
這篇文章主要介紹了Python @property裝飾器的用法,在Python中,可以通過(guò)@property裝飾器將一個(gè)方法轉(zhuǎn)換為屬性,從而實(shí)現(xiàn)用于計(jì)算的屬性,下面文章圍繞主題展開(kāi)更多相關(guān)詳情,感興趣的小伙伴可以參考一下2022-07-07