欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python基于pygame實(shí)現(xiàn)的font游戲字體(附源碼)

 更新時(shí)間:2015年11月11日 14:19:49   作者:Hongten  
這篇文章主要介紹了Python基于pygame實(shí)現(xiàn)的font游戲字體,涉及Python響應(yīng)鍵盤(pán)按鍵動(dòng)態(tài)操作圖片元素的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了Python基于pygame實(shí)現(xiàn)的font游戲字體。分享給大家供大家參考,具體如下:

在pygame游戲開(kāi)發(fā)中,一個(gè)友好的UI中,漂亮的字體是少不了的

今天就給大伙帶來(lái)有關(guān)pygame中字體的一些介紹說(shuō)明

首先我們得判斷一下我們的pygame中有沒(méi)有font這個(gè)模塊

復(fù)制代碼 代碼如下:
if not pygame.font: print('Warning, fonts disabled')

如果有的話才可以進(jìn)行接下來(lái)的操作:-)

我們可以這樣使用pygame中的字體:

復(fù)制代碼 代碼如下:
tork_font = pygame.font.Font('data\\font\\TORK____.ttf', 20)

當(dāng)然也可以使用系統(tǒng)中自帶的字體:
復(fù)制代碼 代碼如下:
my_font = pygame.font.SysFont("arial", 10)

參數(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)該這樣操作:

復(fù)制代碼 代碼如下:
position = tork_font.render('Hello,I\'m Hongten', True, (255, 255,255), (23, 43,234))

參數(shù)一:顯示的內(nèi)容

參數(shù)二:是否開(kāi)啟抗鋸齒,就是說(shuō)True的話字體會(huì)比較平滑,不過(guò)相應(yīng)的速度有一點(diǎn)點(diǎn)影響

參數(shù)三:字體顏色

參數(shù)四:字體背景顏色(可選)即可以這樣:

復(fù)制代碼 代碼如下:
position = tork_font.render('Hello,I\'m Hongten', True, (255, 255,255))

下面給出一個(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使用CRC實(shí)現(xiàn)圖片去重

    Python使用CRC實(shí)現(xiàn)圖片去重

    這篇文章主要為大家詳細(xì)介紹了Python如何使用CRC實(shí)現(xiàn)圖片去重功能,文中的示例代碼講解詳細(xì),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • 用python實(shí)現(xiàn)英文字母和相應(yīng)序數(shù)轉(zhuǎ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-09
  • Python2比較當(dāng)前圖片跟圖庫(kù)哪個(gè)圖片相似的方法示例

    Python2比較當(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í)例

    今天小編就為大家分享一篇使用python 的matplotlib 畫(huà)軌道實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python數(shù)據(jù)類(lèi)型中的元組Tuple

    Python數(shù)據(jù)類(lèi)型中的元組Tuple

    這篇文章主要介紹了Python數(shù)據(jù)類(lèi)型中的元組Tuple,元組可以理解為一個(gè)只讀列表,用()來(lái)標(biāo)識(shí),下文圍繞元組展開(kāi)詳細(xì)資料,需要的小伙伴可以參考一下
    2022-02-02
  • Flask??request?對(duì)象介紹

    Flask??request?對(duì)象介紹

    本文介紹?Flask??request?對(duì)象,一個(gè)完整的?HTTP?請(qǐng)求,包括客戶端向服務(wù)端發(fā)送的Request?請(qǐng)求和服務(wù)器端發(fā)送?Response?響應(yīng).為了能方便訪問(wèn)獲取請(qǐng)求及響應(yīng)報(bào)文信息,Flask?框架提供了一些內(nèi)建對(duì)象,下面就來(lái)說(shuō)一下?Flask?針對(duì)請(qǐng)求提供內(nèi)建對(duì)象reques,需要的朋友可以參考一下
    2021-11-11
  • Python導(dǎo)入不同文件夾中文件的方法詳解

    Python導(dǎo)入不同文件夾中文件的方法詳解

    在寫(xiě)python程序的時(shí)候,經(jīng)常會(huì)用到引入其他文件夾里的py文件,下面這篇文章主要給大家介紹了關(guān)于Python導(dǎo)入不同文件夾中文件的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Python pytest.main()運(yùn)行測(cè)試用例

    Python 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-12
  • Python項(xiàng)目 基于Scapy實(shí)現(xiàn)SYN泛洪攻擊的方法

    Python項(xiàng)目 基于Scapy實(shí)現(xiàn)SYN泛洪攻擊的方法

    今天小編就為大家分享一篇Python項(xiàng)目 基于Scapy實(shí)現(xiàn)SYN泛洪攻擊的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python深入分析@property裝飾器的應(yīng)用

    Python深入分析@property裝飾器的應(yīng)用

    這篇文章主要介紹了Python @property裝飾器的用法,在Python中,可以通過(guò)@property裝飾器將一個(gè)方法轉(zhuǎn)換為屬性,從而實(shí)現(xiàn)用于計(jì)算的屬性,下面文章圍繞主題展開(kāi)更多相關(guān)詳情,感興趣的小伙伴可以參考一下
    2022-07-07

最新評(píng)論