本文实例讲述了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,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,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,234))

screen.blit(position,480))

screen.blit(frog,(frog_x,frog_y))

pygame.display.update()

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

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

python pygame字体设置_Python基于pygame实现的font游戏字体(附源码)相关推荐

  1. python抢购火车票源代码_Python动刷新抢12306火车票的代码(附源码)

    摘要:这篇Python开发技术栏目下的"Python动刷新抢12306火车票的代码(附源码)",介绍的技术点是"12306火车票.Python.12306.附源码.火车票 ...

  2. 基于C++开发的仓库管理系统(附源码)

    基于C++开发的仓库管理系统(附源码) 一.简介 1.开始菜单 2.登录后的菜单 二.C++代码 main.cpp   一.简介   仓库管理系统的功能有登录.注册.查询功能.入库功能.出库功能.添加 ...

  3. python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)——增删改查篇

    python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)--增删改查篇 前言 一.主界面的样式 二.学生信息的增,删,改,查 1.增加学生信息 2.删除学生信息 3.更改学 ...

  4. 高分毕设基于JAVA的仓库管理系统项目(内附源码)

    一.高分毕设基于JAVA的仓库管理系统项目(内附源码) 项目简介:(源码免费下载链接如下) 基于JAVA的仓库管理系统项目源码.zip-Java文档类资源-CSDN下载 在经过多家公司上线运行后,为了 ...

  5. 基于FPGA数字时钟的设计(附源码)

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注"FPGA技术江湖"微信公众号,在"闯荡江湖"."行侠仗义"栏里获取其 ...

  6. java计算机毕业设计ssm基于SSM学生信息管理系统37myx(附源码、数据库)

    java计算机毕业设计ssm基于SSM学生信息管理系统37myx(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm ...

  7. 基于SSM实现的人力资源管理系统【附源码】(毕设)

    一.项目简介 本项目是一套基于SSM实现的人力资源管理系统 或 人事管理系统 或 企业管理系统 或 HR管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者. 详细介绍 ...

  8. 基于SSM实现的物流管理系统【附源码】(毕设)

    一.项目简介 本项目是一套基于SSM实现的物流管理系统 或 物流配送系统 或 快递物流系统 或 快递管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者. 详细介绍了物 ...

  9. Python3+pygame实现有趣好玩的飞机大战游戏(附源码及素材)

    版权声明:原创不易,本文禁止抄袭.转载,侵权必究! 目录 一.开发环境 二.功能模块 三.游戏效果 四.完整项目下载 五.作者Info 一.开发环境 开发环境 :Windows10 Python3.6 ...

最新文章

  1. 大话数据结构-栈与队列
  2. 理解AngularJS中的依赖注入
  3. rsync命令_浅谈利用rsync服务的攻击
  4. JS报错-Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on...
  5. java页面可配置化_web.xml页面配置
  6. Hadoop搭建集群中输入hdfs namenode -format格式化节点时,提示:hdfs: command not found 解决办法
  7. 【Vue】—异步组件
  8. 序列化之XML序列化技术
  9. windows2008不能显示图片缩略图设置
  10. python学习小游戏
  11. 少儿编程python学啥-少儿编程学什么?少儿编程课程体系介绍
  12. newifi3刷什么固件最稳定_新路由三无线路由器刷什么固件好?
  13. 【UnityShader】使用Cubemap/Matcap制作玻璃
  14. the7 Quick Start Guide
  15. ARM嵌入式系统的学习步骤
  16. 局域网共享文件夹现在内存不足_局域网文件夹共享给指定用户的方法
  17. 为什么要学习平面设计的几个理由
  18. java脚本引擎Rhino 入门
  19. 认证中心公钥(CA)与IC卡参数
  20. java web查询某个时间段记录

热门文章

  1. Android 使用百度鹰眼实现运动轨迹功能
  2. word怎么添加着重号
  3. 计算机监控如何控制调速器的,《计算机监控系统》PPT课件.ppt
  4. Windows镜像封装
  5. 美女------聚会
  6. 2021-03-15 scala map 小括号与大括号
  7. 中国目前的经济结构有什么问题
  8. 80后程序员感慨中年危机,docker网络模式应用
  9. 计算机辅助药物设计技术与应用实践
  10. win10改win7如何设置bios教程