最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

首先我們得判斷一下我們的pygame中有沒有font這個模塊

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

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

我們可以這樣使用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ù)一:字體名稱

參數(shù)二:字體大小

比較一下上面兩個方法,一個是自定義的字體,一個是系統(tǒng)自帶的字體,相對而言

自定義的字體要好一點,因為在pygame打包的過程中,可以把自定義的字體打包進(jìn)去

這樣就可以進(jìn)行很好的移植;而系統(tǒng)自帶的字體, 畢竟不是每個系統(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ù)二:是否開啟抗鋸齒,就是說True的話字體會比較平滑,不過相應(yīng)的速度有一點點影響

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

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

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

下面給出一個demo,說說pygame中字體的使用

在demo中,玩家可以使用鍵盤上的:上,下,左,右四個方向鍵進(jìn)行控制青蛙的移動,

在移動的過程中,左下角會動態(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()

完整實例代碼代碼點擊此處本站下載。

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • python 消費 kafka 數(shù)據(jù)教程

    python 消費 kafka 數(shù)據(jù)教程

    今天小編就為大家分享一篇python 消費 kafka 數(shù)據(jù)教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 如何在vscode中安裝python庫的方法步驟

    如何在vscode中安裝python庫的方法步驟

    這篇文章主要介紹了如何在vscode中安裝python庫的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python *args和**kwargs用法實例解析

    Python *args和**kwargs用法實例解析

    這篇文章主要介紹了Python *args和**kwargs用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Python中列表和字符串常用的數(shù)據(jù)去重方法總結(jié)

    Python中列表和字符串常用的數(shù)據(jù)去重方法總結(jié)

    關(guān)于數(shù)據(jù)去重,咱們這里簡單理解下,就是刪除掉重復(fù)的數(shù)據(jù),應(yīng)用的場景比如某些產(chǎn)品產(chǎn)生的大數(shù)據(jù),有很多重復(fù)的數(shù)據(jù),為了不影響分析結(jié)果,我們可能需要對這些數(shù)據(jù)進(jìn)行去重,所以本文給大家總結(jié)了Python中列表和字符串常用的數(shù)據(jù)去重方法,需要的朋友可以參考下
    2023-11-11
  • pytorch中的model=model.to(device)使用說明

    pytorch中的model=model.to(device)使用說明

    這篇文章主要介紹了pytorch中的model=model.to(device)使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python3使用 GitLab API 進(jìn)行批量合并分支

    Python3使用 GitLab API 進(jìn)行批量合并分支

    這篇文章主要介紹了Python3使用 GitLab API 進(jìn)行批量合并分支的思路詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Python?對數(shù)字的千分位處理方式

    Python?對數(shù)字的千分位處理方式

    這篇文章主要介紹了Python?對數(shù)字的千分位處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 使用Python串口實時顯示數(shù)據(jù)并繪圖的例子

    使用Python串口實時顯示數(shù)據(jù)并繪圖的例子

    今天小編就為大家分享一篇使用Python串口實時顯示數(shù)據(jù)并繪圖的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 如何在VSCode上輕松舒適的配置Python的方法步驟

    如何在VSCode上輕松舒適的配置Python的方法步驟

    這篇文章主要介紹了如何在VSCode上輕松舒適的配置Python的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python使用Pandas生成日報的實現(xiàn)代碼

    Python使用Pandas生成日報的實現(xiàn)代碼

    Pandas是Python中一個強大的數(shù)據(jù)處理庫,它提供了許多功能強大的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具,在本文中,我們將介紹Pandas的基本概念和如何使用它生成一個包含今天到未來20個工作日的日期列表的Excel文件,需要的朋友可以參考下
    2023-11-11

最新評論

册亨县| 昌都县| 庄浪县| 商洛市| 林州市| 册亨县| 额敏县| 林西县| 仪征市| 苍溪县| 聂荣县| 崇文区| 建瓯市| 长汀县| 栾川县| 茌平县| 东方市| 福建省| 南汇区| 集贤县| 静乐县| 历史| 读书| 自贡市| 宾阳县| 宜春市| 亳州市| 静乐县| 山阳县| 师宗县| 涪陵区| 盐源县| 景德镇市| 上蔡县| 东阳市| 竹溪县| 哈尔滨市| 金阳县| 昆山市| 芮城县| 丹寨县|