pygame系列_font游戏字体
在pygame游戏开发中,一个友好的UI中,漂亮的字体是少不了的
今天就给大伙带来有关pygame中字体的一些介绍说明
首先我们得判断一下我们的pygame中有没有font这个模块
1 if not pygame.font: print('Warning, fonts disabled')
如果有的话才可以进行接下来的操作:-)
我们可以这样使用pygame中的字体:
1 tork_font = pygame.font.Font('data\\font\\TORK____.ttf', 20)
当然也可以使用系统中自带的字体:
1 my_font = pygame.font.SysFont("arial", 10)
参数一:字体名称
参数二:字体大小
比较一下上面两个方法,一个是自定义的字体,一个是系统自带的字体,相对而言
自定义的字体要好一点,因为在pygame打包的过程中,可以把自定义的字体打包进去
这样就可以进行很好的移植;而系统自带的字体, 毕竟不是每个系统都有相应的字体,
所以他的移植性不是很好,依赖性很大。
如果定义好了字体,那么我们应该把字体显示到suiface上面去,我们应该这样操作:
1 position = tork_font.render('Hello,I\'m Hongten', True, (255, 255,255), (23, 43,234))
参数一:显示的内容
参数二:是否开启抗锯齿,就是说True的话字体会比较平滑,不过相应的速度有一点点影响
参数三:字体颜色
参数四:字体背景颜色(可选)即可以这样:
1 position = tork_font.render('Hello,I\'m Hongten', True, (255, 255,255))
下面给出一个demo,说说pygame中字体的使用

在demo中,玩家可以使用键盘上的:上,下,左,右四个方向键进行控制青蛙的移动,
在移动的过程中,左下角会动态记录青蛙的位置情况。
=============================================
代码部分:
=============================================

1 #python font
2
3 import os, pygame
4 from pygame.locals import *
5 from sys import exit
6
7 __author__ = {'name' : 'Hongten',
8 'mail' : 'hongtenzone@foxmail.com',
9 'blog' : 'http://www.cnblogs.com/hongten',
10 'Version' : '1.0'}
11
12 if not pygame.font: print('Warning, fonts disabled')
13
14 pygame.init()
15 SCREEN_DEFAULT_SIZE = (500, 500)
16 BG_IMAGE_NAME = 'bg.gif'
17 FROG_IMAGE_NAME = 'frog.gif'
18 TORK_FONT_NAME = 'TORK____.ttf'
19
20 bg_image_path = os.path.join('data\\image', BG_IMAGE_NAME)
21 frog_image_path = os.path.join('data\\image', FROG_IMAGE_NAME)
22 tork_font_path = os.path.join('data\\font', TORK_FONT_NAME)
23
24 if not os.path.exists(bg_image_path):
25 print('Can\'t found the background image:', bg_image_path)
26 if not os.path.exists(frog_image_path):
27 print('Can\'t fount the frog image:', frog_image_path)
28 if not os.path.exists(tork_font_path):
29 print('Can\'t fount the font:', tork_font_path)
30
31 screen = pygame.display.set_mode(SCREEN_DEFAULT_SIZE, 0, 32)
32 bg = pygame.image.load(bg_image_path).convert()
33 frog = pygame.image.load(frog_image_path).convert_alpha()
34 tork_font = pygame.font.Font(tork_font_path, 20)
35
36 frog_x, frog_y = 0, 0
37 frog_move_x, frog_move_y = 0, 0
38
39 while 1:
40 for event in pygame.event.get():
41 if event.type == QUIT:
42 exit()
43 elif event.type == KEYDOWN:
44 if event.key == K_LEFT:
45 frog_move_x = -1
46 elif event.key == K_UP:
47 frog_move_y = -1
48 elif event.key == K_RIGHT:
49 frog_move_x = 1
50 elif event.key == K_DOWN:
51 frog_move_y = 1
52 elif event.type == KEYUP:
53 frog_move_x = 0
54 frog_move_y = 0
55 frog_x += frog_move_x
56 frog_y += frog_move_y
57 #print(frog_x, frog_y)
58 screen.blit(bg, (0, 0))
59 position_str = 'Position:' + str(frog_x) + ',' + str(frog_y)
60 position = tork_font.render(position_str, True, (255, 255,255), (23, 43,234))
61 screen.blit(position, (0, 480))
62 screen.blit(frog, (frog_x, frog_y))
63 pygame.display.update()

源码下载:http://files.cnblogs.com/liuzhi/pygame_font_frog.rar
pygame系列_font游戏字体的更多相关文章
- pygame系列_font游戏字体_源码下载
在pygame游戏开发中,一个友好的UI中,漂亮的字体是少不了的 今天就给大伙带来有关pygame中字体的一些介绍说明 首先我们得判断一下我们的pygame中有没有font这个模块 if not py ...
- pygame系列_游戏中的事件
先看一下我做的demo: 当玩家按下键盘上的:上,下,左,右键的时候,后台会打印出玩家所按键的数字值,而图形会随之移动 这是客观上面存在的现象. 那么啥是事件呢? 你叫我做出定义,我不知道,我只能举个 ...
- pygame系列_draw游戏画图
说到画图,pygame提供了一些很有用的方法进行draw画图. ''' pygame.draw.rect - draw a rectangle shape draw a rectangle shape ...
- pygame系列_原创百度随心听音乐播放器_完整版
程序名:PyMusic 解释:pygame+music 之前发布了自己写的小程序:百度随心听音乐播放器的一些效果图 你可以去到这里再次看看效果: pygame系列_百度随心听_完美的UI设计 这个程序 ...
- hdu ---(4517)小小明系列故事——游戏的烦恼(Dp)
小小明系列故事——游戏的烦恼 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)To ...
- pygame系列
在接下来的blog中,会有一系列的文章来介绍关于pygame的内容,pygame系列偷自http://www.cnblogs.com/hongten/p/hongten_pygame_install. ...
- pygame系列_pygame安装
在接下来的blog中,会有一系列的文章来介绍关于pygame的内容,所以把标题设置为pygame系列 在这篇blog中,主要描述一下我们怎样来安装pygame 可能很多人像我一样,发现了pygame是 ...
- 小小明系列故事——游戏的烦恼(hdu 4517)
小小明系列故事--游戏的烦恼 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)To ...
- 11.pygame飞机大战游戏整体代码
主程序 # -*- coding: utf-8 -*- # @Time: 2022/5/20 22:26 # @Author: LiQi # @Describe: 主程序 import pygame ...
随机推荐
- Android自学绝佳资料
本文转自stormzhang老师的博客:http://stormzhang.com/android/2014/07/07/learn-android-from-rookie 首先感谢stromzhan ...
- jvm常用参数设置 good
1.堆的大小可以通过 -Xms 和 -Xmx 来设置,一般将他们设置为相同的大小,目的是避免在每次垃圾回收后重新调整堆的大小,比如 -Xms=2g -Xmx=2g 或者 -Xms=512m -Xmx= ...
- Delphi图像处理 -- 最大值
阅读提示: <Delphi图像处理>系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM. <C++图像处理>系列以代码清晰,可读性为主,全部使用C ...
- vs2005及以上版本的程序分发问题
我们使用vs2005及以上版本编译的应用程序(C/C++),在客户机器运行时,会出现: “由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题” 那么,我们怎么解决这个问题呢 ...
- D7升级时候发现许多System函数和网络函数只有Byte版本的,需要注意
SetLength 对于字符串,是WideChar的长度GetMem 只针对ByteMove 只针对ByteFillChar 只针对ByteWriteFile(API) 只针对Byte SetSock ...
- Phpcms V9 所有的中文变量
$LANG['start_update_category'] = '开始更新栏目页 ...'; $LANG['start_to_end_id'] = '" 第{page} - {endpag ...
- Ext图表的精彩
最近做了几个Ext的图表,觉得效果还不错,分享一下 1.Chart[饼图.折线图.柱状图.堆状图]: 2.Grid: 3.最大化:
- sqlplus连接登录数据库时,出现 ORA-28009错误(转)
安装了oracle10g,打算用SQLPLUS 登录数据库进行操作.打开sqlplus后,可以看到要求输入用户名,口令和主机字符串.前面两个都知道,但是后一个却不明白,查了资料才知道是安装时的全局数据 ...
- 第二章排错的工具:调试器Windbg(下)
感谢博主 http://book.51cto.com/art/200711/59874.htm 2.2 读懂机器的语言:汇编,CPU执行指令的最小单元2.2.1 需要用汇编来排错的常见情况 汇编是 ...
- Shell编程中Shift的用法(转)
位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常 ...