Python pygame绘制文字制作滚动文字过程解析
这篇文章主要介绍了Pythonpygame绘制文字制作滚动文字过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
字体常用的不是很多,在pygame中大多用于提示文字,或者记录分数等事件。
字体绘制基本分为以下几个步骤:
- 初始化字体模块
- pygame.init()
- 创建一个字体对象
- 可以从文件或者系统内字体选取
- pygame.font.SysFont('幼圆',50)
- 可以从文件或者系统内字体选取
- 绘制文本对象。
- a.render("测试字体",True,(255,0,0),(0,0,0))
- 屏幕绘制字体
- screen.blit(text,[jx.x,jx.y])
绘制字体是用的表面中blit函数来绘制图像:
blit(source,dest,area=None,special_flags=0)->Rect
在此Surface上绘制源Surface。可以使用dest参数定位绘图。Dest可以是表示源左上角的坐标对。Rect也可以作为目标传递,矩形的topleft角将用作blit的位置。目标矩形的大小不会影响blit。
也可以传递可选的区域矩形。这表示要绘制的源Surface的较小部分。
也就是我们需要绘制的元素,需要绘制的位置输入进去,可以接受矩形区域的位置参数。
这里还演示了获取文本宽高,让文本在屏幕居中滚动的效果。
importpygame
importpprint
defmain():
#初始化pygame
pygame.init()
#初始化字体模块
pygame.font.init()
#如果字体模块已初始化,则为true
print('是否初始化',pygame.font.get_init())
#获取默认字体的文件名
print('默认字体名',pygame.font.get_default_font())
#获取所有可用的字体
pprint.pprint(pygame.font.get_fonts())
#在系统上找到特定的字体
print('查找字体',pygame.font.match_font('arial'))
#从系统字体创建一个Font对象
#(名称,大小,粗体=假,斜体=假)->字体
a=pygame.font.SysFont('幼圆',50)
#从文件或对象绘制文本
#pygame.font.Font('文件或对象',大小)
#在新Surface上绘制文本
#显示内容、是否消除锯齿、字体颜色、背景颜色
text=a.render("gisoracle",True,(255,0,0),(0,0,0))
#取消初始化字体模块
#pygame.font.quit()
#设置屏幕
screen=pygame.display.set_mode((500,100))
#设置矩形区域
ztx,zty,ztw,zth=text.get_rect()
#绘制显示文字的矩形区域
jx=pygame.Rect(500,50-zth/2,ztw,zth)#初始位置设置屏幕右边,并居住显示,2/1屏幕的高度-2/1字体的高度向上移动是减
#设置游戏时钟
clock=pygame.time.Clock()
whileTrue:
#文字滚动的频率
clock.tick(30)
#重绘屏幕
screen.fill((0,0,0))
#退出事件
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
pygame.quit()
exit(0)
#文字从右向左移动
jx.x-=5
#如果字体全部移动出屏幕,则设置字体X轴位置为510,500的话会出现的比较突然
ifjx.x<0-ztw:
jx.x=510
#屏幕绘制字体,
screen.blit(text,[jx.x,jx.y])
#更新屏幕显示
pygame.display.update()
if__name__=='__main__':
main()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。