python基于pygame实现的font游戏字体(附源码)

本文实例讲述了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中字体的使用

在demo中,玩家可以使用键盘上的:上,下,左,右四个方向键进行控制青蛙的移动,

在移动的过程中,左下角会动态记录青蛙的位置情况。

代码部分如下:

#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程序设计有所帮助。

Posted in 未分类

发表评论