python3 pygame学习(4):文字的使用

pygame提供了字体处理,但是对中文的支持貌似不是很好!(汗……)

pygame对于字体的处理主要是pygame.font.Font()对象

对象中的方法如下

pygame.font.font.render 在一个新的表面绘制文本
pygame.font.font.size 确定需要渲染文本的空间量
pygame.font.font.set_underline 如果文本呈现的下划线
pygame.font.font.get_underline 检查是否带下划线的文本将被呈现
pygame.font.font.set_bold 启用粗体文字假渲染
pygame.font.font.get_bold 检查文本呈现的是大胆
pygame.font.font.set_italic 使斜体假渲染
pygame.font.font.metrics 获取在过去的各个字符度量。
pygame.font.font.get_italic 如果支票将rendered italic文本
pygame.font.font.get_linesize 获得该字体的文本的行间距
pygame.font.font.get_height 得到的字体高度
pygame.font.font.get_ascent 获得字体的提升
pygame.font.font.get_descent 获得字体的血统

其中最常用的是pygame.font.font.render()方法。

这个方法一个接收三个参数,1:文本内容,2:(我也不是很懂,通常传入0或者1)3:颜色的RGB值

例:

#创建字体对象
font=pygame.font.Font(None,56)
#文本与颜色
text=font.render("I love Python",1,(255,0,0))
上面代码我们实例化一个字体对象,(第一个参数是字体,第二个参数是字体大小)

然后就是绘制文本内容为”I lvoe Python”,并且设置字体的颜色为红色。


对了再说一句,这个font也是一个surface对象!可以使用surface对象的方法。

例如可以使用Surface对象中个get_rect方法设置他的位置(center=(x,y)x,y是坐标值)

textpos = text.get_rect(center=(150,150))

最后贴上完整代码

# -*- conding:utf-8 -*-
import pygame
import sys
pygame.init()
#绘制窗口
screen=pygame.display.set_mode((600,400),0,32)
#绘制背景
background=pygame.Surface(screen.get_size())
#填充颜色
background.fill(color=(255,255,23))
#创建字体对象
font=pygame.font.Font(None,56)
#文本与颜色
text=font.render("I love Python",1,(255,10,10))
#获取中心的坐标
center=(background.get_width()/2,background.get_height()/2)
#获取设置后新的坐标区域
textpos = text.get_rect(center=center)

while True:
	for event in pygame.event.get():
		if event.type == pygame.QUIT:
			sys.exit()
	#将字体填充到背景
	background.blit(text, textpos)
	#将背景填充到窗口
	screen.blit(background,(0,0))
	pygame.display.update()

效果图



最后要注意一下层级关系,先将文字填充到背景层上,然后再将背景填充到屏幕上。

这个使用层级以及顺序关系滴!(ps我习惯使用填充!)



  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值