一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python基于pygame實現的font游戲字體(附源碼)

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

2020-08-02 10:49Hongten Python

這篇文章主要介紹了Python基于pygame實現的font游戲字體,涉及Python響應鍵盤按鍵動態操作圖片元素的相關技巧,需要的朋友可以參考下

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

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

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

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

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


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

 

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

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


當然也可以使用系統中自帶的字體:

復制代碼 代碼如下:
my_font = pygame.font.SysFont("arial", 10)


參數一:字體名稱

 

參數二:字體大小

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

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

這樣就可以進行很好的移植;而系統自帶的字體, 畢竟不是每個系統都有相應的字體,

所以他的移植性不是很好,依賴性很大。

如果定義好了字體,那么我們應該把字體顯示到suiface上面去,我們應該這樣操作:

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


參數一:顯示的內容

 

參數二:是否開啟抗鋸齒,就是說True的話字體會比較平滑,不過相應的速度有一點點影響

參數三:字體顏色

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

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


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

 

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

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

在移動的過程中,左下角會動態記錄青蛙的位置情況。

代碼部分如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#python font
import os, pygame
from pygame.locals import *
from sys import exit
__author__ = {'name' : 'Hongten',
  'mail' : '[email protected]',
  '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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 四虎4hu永久免费国产精品 | 日本一区视频在线 | 色综合合久久天天综合绕视看 | 亚洲免费网站在线观看 | 国产欧美一区二区精品性色 | 免费看3d小舞被躁视频网站 | ady@ady9.映画网 | les女同h高h喷水 | 成人欧美一区二区三区 | 亚洲26uuuu最新地址 | a黄色 | 福利片福利一区二区三区 | 高清在线观看免费入口 | 热99在线视频 | 欧美高清一区 | 欧美高清一级 | 国产欧美一区二区三区精品 | 娇妻被朋友征服中文字幕 | 国产探花在线观看 | 蜜桃破解版免费看nba | 青草福利在线 | wwwav在线 | 动漫美女被褥吸奶漫画漫画 | 日韩欧美高清 | 欧美成人精品福利网站 | 男人午夜免费视频 | sese在线| 久久99国产精品二区不卡 | 3d蒂法受辱在线播放 | 毛片免费在线视频 | 美国女孩毛片 | 国产精品99久久久 | 日本三级在线观看免费 | 日韩精品成人免费观看 | 王雨纯羞羞 | 国内精品免费一区二区三区 | 精品在线99 | 欧美大陆日韩一区二区三区 | 欧美精品一线二线大片 | 精品无人区一区二区三区 | gayxxx视频|