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',
'blog' : 'http://www.cnblogs.com/hongten',
'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()
源码下载:http://files.cnblogs.com/hongten/pygame_font_frog.rar
========================================================
More reading,and english is important.
I'm Hongten

大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。
Hongten博客排名在100名以内。粉丝过千。
Hongten出品,必是精品。
E | hongtenzone@foxmail.com B | http://www.cnblogs.com/hongten
========================================================
pygame系列_font游戏字体_源码下载的更多相关文章
- pygame系列_font游戏字体
在pygame游戏开发中,一个友好的UI中,漂亮的字体是少不了的 今天就给大伙带来有关pygame中字体的一些介绍说明 首先我们得判断一下我们的pygame中有没有font这个模块 1 if not ...
- pygame系列_小球完全弹性碰撞游戏_源码下载
之前做了一个基于python的tkinter的小球完全碰撞游戏: python开发_tkinter_小球完全弹性碰撞游戏_源码下载 今天利用业余时间,写了一个功能要强大一些的小球完全碰撞游戏: 游戏名 ...
- pygame系列_箭刺Elephant游戏_源码下载
这个游戏原名为:Chimp,我们可以到: http://www.pygame.org/docs/tut/chimp/ChimpLineByLine.html 获取到源码和详细的源码讲解 下面是我对游戏 ...
- python开发_tkinter_小球完全弹性碰撞游戏_源码下载
完成这个小球的完全弹性碰撞游戏灵感来自于: 下面是我花了一周下班时间所编写的一个小球完全弹性碰撞游戏: 游戏初始化状态: 最下面的游标和修改小球的移动速度 ====================== ...
- QT_文本编辑器_源码下载
源码下载: 链接: http://pan.baidu.com/s/1c21EVRy 密码: qub8 实现主要的功能有:新建,打开,保存,另存为,查找(查找的时候需要先将光标放到最下面位置才能查全,不 ...
- leaflet-webpack 入门开发系列六矢量瓦片(附源码下载)
前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 w ...
- leaflet-webpack 入门开发系列五地图卷帘(附源码下载)
前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 w ...
- java开发_mysql中获取数据库表描述_源码下载
功能描述: 在mysql数据库中,有两张表: data_element_config , test_table 我们需要获取表:test_table表的描述信息,然后把描述信息插入到表:data_el ...
- MyGame--java语言编写的打飞机游戏(附源码下载)
运行效果如下图所示: 点击这里进行下载, 还有源码已经传至我的github上,还有一些小bug,欢迎大家改正. 说明:最后打boss的效果还没做,爆炸的图片也没好,欢迎大家修改.
随机推荐
- ORACLE递归查询(适用于ID,PARENTID结构数据表)
Oracle 树操作(select…start with…connect by…prior) oracle树查询的最重要的就是select…start with…connect by…prior语法了 ...
- bzoj千题计划197:bzoj4247: 挂饰
http://www.lydsy.com/JudgeOnline/problem.php?id=4247 先把挂饰按挂钩数量从大到小排序 dp[i][j]前i个挂饰,剩下j个挂钩的最大喜悦值 分挂和不 ...
- HDU 1729 类NIM 求SG
每次有n个盒子,每个盒子有容量上限,每次操作可以放入石头,数量为不超过当前盒子中数量的平方,不能操作者输. 一个盒子算一个子游戏. 对于一个盒子其容量为s,当前石子数为x,那么如果有a满足 $a \t ...
- kombu源码Producer收获一
celery内置了kombu库,看了一下kombu的源码,从官网最简单的一个例子来分析---消息发布,源码如下: from __future__ import absolute_import, uni ...
- 整理一下原生js的dom操作
获取元素 getElementById() getElementsByClass() getElementsByTagName getElementsByName node属性 前.后.父.子 pre ...
- [译]How To Use the Linux Auditing System on CentOS 7
本文是How To Use the Linux Auditing System on CentOS 7的中文版,翻译不到之处,还请指出和多多包涵.本文并不会完全遵从原文的一些格式,而是加入自己学习的理 ...
- 灵活、可高度自定义的——Progress进度圈、弹窗、加载进度、小菊花
DDProgressHUD的介绍 提供了四种类型的展示: 显示无限旋转的加载图(比如小菊花,可以自定义),显示文字信息.网络刷新时经常用到. 显示加载进度的动画,也可以显示文字.网络下载时用的比较多, ...
- 洛谷 P4656: LOJ 2484: [CEOI2017]Palindromic Partitions
菜菜只能靠写简单字符串哈希维持生活. 题目传送门:LOJ #2484. 题意简述: 题面讲得很清楚了. 题解: 很显然从两边往中间推,能选的就选上这个贪心策略是对的. 如何判断能不能选上,直接字符串哈 ...
- SQL Server限制IP访问1433端口
1.用系统自带的防火墙,启用防火墙 2.点击[添加端口],名称填1433,端口号填1433 3.协议TCP,点[更改范围],选自定义列表,那个框里就填本机服务器的IP地址.
- CasperJS API中文博客链接
http://www.cnblogs.com/reach296/tag/Casperjs/