脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Pygame实现文字显示在窗口中

Pygame实现文字显示在窗口中

2023-05-22 11:58棉猴 Python

这篇文章主要介绍了Pygame实现在窗口中显示文字,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

使用Pygame显示文字的步骤如图1所示。

Pygame实现文字显示在窗口中

图1 显示文字的步骤

1 .Pygame的初始化

通过以下代码实现Pygame的初始化。

?
1
2
import pygame
pygame.init()

其中,第1行代码的作用是在程序中导入pygame模块;第2行代码的作用是实现pygame的初始化。

2 .屏幕的创建

使用如下代码实现屏幕的创建

?
1
2
screen_size = 500, 500
screen = pygame.display.set_mode(screen_size)

其中,第1行代码定义了表示屏幕大小的变量screen_size,该变量的类型是元组;第2行代码通过pygame的display模块中的set_mode()函数创建屏幕。set_mode()函数的作用是初始化用来显示的窗口或屏幕,该函数的返回值是Surface对象。

相关链接1 Surface,是在Pygame中定义的对象,是一块矩形区域,用来表示要显示的图像;可以把Surface理解为画布,在该画布上面进行绘画。

3 .字体的创建

通过pygame的font模块来创建字体,如下代码所示。

?
1
myfont = pygame.font.Font(None, 60)

其中,在Pygame的font模块中定义的Font()函数的主要作用是从指定的文件中创建一个新的字体对象;其中第一个参数表示指定的字体文件,None表示使用默认字体;第二个参数表示字体的高度,单位是像素。该函数的返回值是Font类对象。

4 .字体的渲染

pygame的font模块中没有提供将文字直接显示在Surface的方法,因为这种直接显示的方法可能会导致显示的闪烁。可以先在内存中创建一个新的Surface,将要显示的文字渲染(render)到该Surface中,最后将这个新的Surface在屏幕中显示。而以上步骤可以通过Font类的render()函数实现,代码如下所示。

?
1
2
white = 255,255,255
textImage = myfont.render('Hello Pygame', True, white)

第1行代码定义了字体的颜色,用变量white表示,该变量的类型是元组;第2行代码通过Font类的对象myfont调用render()函数创建一个新的Surface,并将要显示的文字渲染到Surface中,其中第一个参数表示要显示的内容,第二个参数表示是否使用抗锯齿效果,该参数是布尔类型,True表示使用抗锯齿效果,使用该效果后,显示字体的边缘变得平滑;Flase表示不使用抗锯齿效果,此时字体的边缘会有锯齿;第三个参数表示字体的颜色。

5 .文字的显示

通过如下代码在屏幕中显示文字

?
1
2
3
4
blue = 0,0,255
screen.fill(blue)
screen.blit(textImage, (100, 100))
pygame.display.update()

其中,第1~2行将屏幕的背景设置为蓝色;第3行通过screen调用Surface类的blit()函数将“4 渲染字体”中创建的Surface也就是textImage,在屏幕中显示,其中blit()函数的第一个参数表示要显示的Surface,第二个参数显示Surface的起点坐标;第4行代码调用pygame的display模块中的update()函数更新屏幕显示,也就是将Surface在屏幕中显示出来。

通过以上代码显示的效果如图2所示。

Pygame实现文字显示在窗口中

图2 显示效果

到此这篇关于Pygame实现文字显示在窗口中的文章就介绍到这了,更多相关Pygame显示文字内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/hou09tian/article/details/128951326

延伸 · 阅读

精彩推荐
  • Pythonpython中类与对象之间的关系详解

    python中类与对象之间的关系详解

    在本篇文章里小编给大家整理的是一篇关于python中类与对象之间的关系详解内容,有兴趣的朋友们可以学习下。...

    十一11522021-08-14
  • PythonPython+OpenCV实现表面缺陷检测

    Python+OpenCV实现表面缺陷检测

    对于现在很多工业检测,特别是对一些精密的器件进行筛选,往往都是像素级别的,十分的精确。本文将利用OpenCV+Python实现表面缺陷检测,感兴趣的可以了...

    醉公子~7812022-08-05
  • PythonPython机器学习NLP自然语言处理基本操作词袋模型

    Python机器学习NLP自然语言处理基本操作词袋模型

    本文是Python机器学习NLP自然语言处理系列文章,带大家开启一段学习自然语言处理 (NLP) 的旅程。本篇文章主要学习NLP自然语言处理基本操作之词袋模型...

    我是小白呀5962022-01-10
  • PythonTensorFlow tf.nn.conv2d实现卷积的方式

    TensorFlow tf.nn.conv2d实现卷积的方式

    今天小编就为大家分享一篇TensorFlow tf.nn.conv2d实现卷积的方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    xf__mao5572020-05-11
  • Python详解Python中的动态属性和特性

    详解Python中的动态属性和特性

    本篇文章主要介绍了详解Python中的动态属性和特性,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Hanwencheng13402021-01-28
  • Python使用tensorflow实现AlexNet

    使用tensorflow实现AlexNet

    这篇文章主要为大家详细介绍了使用tensorflow实现AlexNet,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    triplebee4122020-12-19
  • PythonPython Flask 请求数据获取响应详解

    Python Flask 请求数据获取响应详解

    这篇文章主要介绍了Python Flask请求数据获取响应的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    找不到工作不换名4502022-02-19
  • Pythonpython中的句柄操作的方法示例

    python中的句柄操作的方法示例

    这篇文章主要介绍了python中的句柄操作的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    路由心定4162021-07-16