Pygame实现文字显示在窗口中

目录
  • 1 .Pygame的初始化
  • 2 .屏幕的创建
  • 3 .字体的创建
  • 4 .字体的渲染
  • 5 .文字的显示

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

图1 显示文字的步骤

1 .Pygame的初始化

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

import pygame
pygame.init()

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

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模块来创建字体,如下代码所示。

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

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

4 .字体的渲染

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

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

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

5 .文字的显示

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

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所示。

图2 显示效果

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

(0)

相关推荐

  • pygame游戏之旅 游戏中添加显示文字

    本文为大家分享了pygame游戏之旅的第5篇,供大家参考,具体内容如下 在游戏中添加显示文字: 这里自己定义一个crash函数接口: def crash(): message_diaplay('You Crashed') 然后实现接口函数message_display(text) def message_diaplay(text): largeText = pygame.font.Font('freesansbold.ttf',115) TextSurf, TextRect = text_obj

  • Pygame实现文字显示在窗口中

    目录 1 .Pygame的初始化 2 .屏幕的创建 3 .字体的创建 4 .字体的渲染 5 .文字的显示 使用Pygame显示文字的步骤如图1所示. 图1 显示文字的步骤 1 .Pygame的初始化 通过以下代码实现Pygame的初始化. import pygame pygame.init() 其中,第1行代码的作用是在程序中导入pygame模块:第2行代码的作用是实现pygame的初始化. 2 .屏幕的创建 使用如下代码实现屏幕的创建 screen_size = 500, 500 screen

  • Python pygame绘制文字制作滚动文字过程解析

    这篇文章主要介绍了Python pygame绘制文字制作滚动文字过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 字体常用的不是很多,在pygame中大多用于提示文字,或者记录分数等事件. 字体绘制基本分为以下几个步骤: 初始化字体模块 pygame.init() 创建一个字体对象 可以从文件或者系统内字体选取 pygame.font.SysFont('幼圆',50) 绘制文本对象. a.render("测试字体",True,(

  • iOS设置UIButton文字显示位置和字体大小、颜色的方法

    前言 大家都知道UIButton按钮是IOS开发中最常用的控件,作为IOS基础学习教程知识 ,初学者需要了解其基本定义和常用设置,以便在开发在熟练运用. 一.iOS设置UIButton的字体大小 btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlStateNormal]; //设置按钮上的自体的大小 //[btn setFont: [UIFont system

  • Android中实现在矩形框中输入文字显示剩余字数的功能

    虽然这两个功能都比较简单,但是在实际app开发中真的很常见,特别是显示字数或剩余字数这个功能 如下图: 要实现上面的功能,需要做到三点: 1.实现矩形框布局 思路就是矩形框作为整个布局的一个background,在drawable中创建一个shap.xml样式文件 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/

  • Android编程开发之TextView文字显示和修改方法(附TextView属性介绍)

    本文实例讲述了Android编程开发之TextView文字显示和修改方法.分享给大家供大家参考,具体如下: 一. 新建一个Activity 和 Layout 首先在layout文件夹中新建一个activity_main.xml,在新建工程的时候一般默认会新建此xml文件,修改其代码如下: activity_main.xml 代码 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" x

  • PDF里的文字显示模糊的解决方法

    如何使PDF的文字显示更清晰 打开一个PDF文件-->编辑-->显示(有的版本是页面显示)-->去掉"平滑文本"前面的勾看看-->OK清晰了,只是看起来都是锯齿

  • JS简单实现点击按钮或文字显示遮罩层的方法

    本文实例讲述了JS简单实现点击按钮或文字显示遮罩层的方法.分享给大家供大家参考,具体如下: 运行效果图如下: 完整代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>点击文字弹出一个DIV层窗口代码</title> <meta charset="urf-8"/> &l

  • Android编程实现控件不同状态文字显示不同颜色的方法

    本文实例讲述了Android编程实现控件不同状态文字显示不同颜色的方法.分享给大家供大家参考,具体如下: 方式一: 第一要选择的控件 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/close_time_display" android:layout_marginRight="20

  • 微信小程序文字显示换行问题

    小程序文字显示换行 问题 用户在上传图文时,输入换行符.导致我在拿到数据后JSON.parse的时候报错. 大概这样的结构: [{ text:'落魄前端 在线炒粉!!!' , url:'' },{ text:'' , url:'xxx.jpg', }]  解决 在拿到数据时先进行正则匹配处理,将换行替换为\n data.replace(/\n/g,'\\n') 然后在进行JOSN.parse就无问题啦. 还要注意的是要使用 text 标签输出才会有换行显示喔. ps:下面看下微信小程序文字超出自

  • python3下pygame如何实现显示中文

    这篇文章主要介绍了python3下pygame如何实现显示中文,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.先看代码: import pygame from pygame.locals import * def main(): pygame.init() screen = pygame.display.set_mode((1000, 450)) #窗口的大小 pygame.display.set_caption('pygame程序的界面的

随机推荐