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‘ : ‘[email protected]‘,
 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

时间: 2024-12-20 20:56:19

pygame系列_font游戏字体的相关文章

pygame系列_游戏中的事件

先看一下我做的demo: 当玩家按下键盘上的:上,下,左,右键的时候,后台会打印出玩家所按键的数字值,而图形会随之移动 这是客观上面存在的现象. 那么啥是事件呢? 你叫我做出定义,我不知道,我只能举个例子说明,例如接下来的代码中,列出来一些关于游戏中的事件 ''' 事件 产生途径 参数 QUIT 用户按下关闭按钮 none ATIVEEVENT Pygame被激活或者隐藏 gain, state KEYDOWN 键盘被按下 unicode, key, mod KEYUP 键盘被放开 key, m

pygame系列_draw游戏画图

说到画图,pygame提供了一些很有用的方法进行draw画图. ''' pygame.draw.rect - draw a rectangle shape draw a rectangle shape pygame.draw.polygon - draw a shape with any number of sides draw a shape with any number of sides pygame.draw.circle - draw a circle around a point d

hdu ---(4517)小小明系列故事——游戏的烦恼(Dp)

小小明系列故事——游戏的烦恼 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 841    Accepted Submission(s): 296 Problem Description 小小明最近在玩一款游戏,它由n*m大小的矩阵构成,矩阵上会随机产生一些黑色的点,这些点它们可能会连在一起也可能会分开,这些点的个数没有限制,但 是每个1

pygame系列_小球完全弹性碰撞游戏

之前做了一个基于python的tkinter的小球完全碰撞游戏: 今天利用业余时间,写了一个功能要强大一些的小球完全碰撞游戏: 游戏名称: 小球完全弹性碰撞游戏规则: 1.游戏初始化的时候,有5个不同颜色的小球进行碰撞 2.玩家可以通过在窗口中单击鼠标左键进行增加小球个数 3.玩家可以通过在窗口中单击鼠标右键进行删减小球个数 4.玩家可以通过键盘的方向键:上,右键进行对小球加速 5.玩家可以通过键盘的方向键:下,左键进行对小球减速 6.玩家可以按键盘:f键实现全屏显示 7.玩家可以按键盘:Esc

pygame系列_箭刺Elephant游戏

这个游戏原名为:Chimp,我们可以到: http://www.pygame.org/docs/tut/chimp/ChimpLineByLine.html 获取到源码和详细的源码讲解 下面是我对游戏的改编: 运行效果: 当箭刺到大象的时候,大象的身体就会翻转,并且发出声音,当然没有刺到的时候,也会发出另外的声音. 在游戏中,有很多地方值得我们参考,如加载图片,声音和异常处理等 ========================================= 代码部分: ===========

pygame系列_mouse鼠标事件

pygame.mouse提供了一些方法获取鼠标设备当前的状态 ''' pygame.mouse.get_pressed - get the state of the mouse buttons get the state of the mouse buttons pygame.mouse.get_pos - get the mouse cursor position get the mouse cursor position pygame.mouse.get_rel - get the amou

pygame系列小程序:奔跑的小车

最近一个星期学习了一下python的pygame模块,顺便做个小程序巩固所学的,运行效果如下: 其中,背景图"highway.jpg"是使用PhotoShop将其分辨率改变为640 × 480,而小车"car.png"则是将其转变为png格式的图片,并且填充其背景色,让其拥有透明性. ========================================== 代码 ========================================== # -

HDU 4517 小小明系列故事---游戏的烦恼 (模拟题)

问题描述 : 小小明最近在玩一款游戏,它由n*m大小的矩阵构成,矩阵上会随机产生一些黑色的点,这些点它们可能会连在一起也可能会分开,这些点的个数没有限制,但是每个1*1方格中最多只可能有一个黑点产生.游戏要求玩家以最短的时间用x*y的小矩阵覆盖这个大矩阵,覆盖的要求有以下2点: 1.  x*y大小的小矩阵内必须有x*y个黑点. 2. 多个小矩阵可以重叠,但是每个小矩阵放置的位置必须是独一无二的,即不同的小矩阵内的黑点不能完全相同.例如1*2的矩阵可以横着放,也可以竖着放,这两种方法是不同的,即使

LOG.ZS.0001.基于Freetype的游戏字体渲染优化思路

Total Utf8-ucs2 Html_parse Layout Render_string Init_texture Ft_load_glyph 原始 2293 1 26 708 1556 2 1403 上表用于记录优化各步骤的消耗时间. 生成的文本纹理,文本是加州宾馆的全歌词. 原始版本整个纹理的生成耗时2300毫秒左右,可以看到实际是慢得发指. 究其原因,是由于实现iron引擎的时候未进行任何性能方面的考虑. 上述时间表的构成: total : 总消耗时间 utf8-ucs2: 将utf