Python基于pygame实现的font游戏字体(附源码)
作者:Hongten 时间:2021-04-16 05:06:17
本文实例讲述了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程序设计有所帮助。
标签:Python,pygame
0
投稿
猜你喜欢
Echarts利用多X轴实现七天天气预报效果的示例代码
2024-03-11 10:33:05
部署ASP.NET Core程序到Linux系统
2024-05-02 17:19:54
解决Python复杂zip文件的解压问题
2021-08-11 05:04:09
建立适当的索引是实现查询优化的首要前提
2009-01-19 13:11:00
php下关于Cannot use a scalar value as an array的解决办法
2023-10-29 22:29:23
Python全局变量关键字global的简单使用
2022-01-29 11:03:49
一键生成各种尺寸Icon的php脚本(实例)
2024-06-05 09:48:41
浅析MySQL内存的使用说明(全局缓存+线程缓存)
2024-01-26 02:46:20
将HTML表单数据存储为XML格式
2007-08-23 13:04:00
简单了解django缓存方式及配置
2022-11-20 05:04:17
Python Pytorch深度学习之核心小结
2021-05-26 20:03:50
PHP简单系统查询模块代码打包下载
2024-05-11 09:48:03
Python线性网络实现分类糖尿病病例
2022-03-13 11:23:25
python中base64编码简介
2023-09-21 20:26:12
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2023-05-03 22:58:56
tensorflow 加载部分变量的实例讲解
2023-03-27 03:19:56
PHP header()函数使用详细(301、404等错误设置)
2023-11-02 17:28:23
巧妙的Sql函数日期处理方法
2009-05-25 17:59:00
浅谈Django中view对数据库的调用方法
2024-01-17 02:13:28
pytorch 实现查看网络中的参数
2023-10-28 22:08:37