本文实例讲述了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程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?