首页 > 编程 > Python > 正文

Python基于pygame实现的font游戏字体(附源码下载)

2020-01-04 17:56:37
字体:
来源:转载
供稿:网友
这篇文章主要介绍了Python基于pygame实现的font游戏字体,涉及Python响应键盘按键动态操作图片元素的相关技巧,需要的朋友可以参考下
 

本文实例讲述了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中字体的使用

 

Python基于pygame实现的font游戏字体(附源码下载)

在demo中,玩家可以使用键盘上的:上,下,左,右四个方向键进行控制青蛙的移动,

在移动的过程中,左下角会动态记录青蛙的位置情况。

代码部分如下:
 

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

完整实例代码代码点击此处本站下载。

希望本文所述对大家Python程序设计有所帮助。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表