Python之pygame学习绘制文字制作滚动文字

pygame绘制文字

?

今天来学习绘制文本内容,毕竟游戏中还是需要文字对玩家提示一些有用的信息。

字体常用的不是很多,在pygame中大多用于提示文字,或者记录分数等事件。

字体绘制基本分为以下几个步骤:

  1. 初始化字体模块

    1. pygame.init()
  2. 创建一个字体对象
    1. 可以从文件或者系统内字体选取

      1. pygame.font.SysFont(‘幼圆‘,50)
  3. 绘制文本对象。
    1. a.render("测试字体",True,(255,0,0),(0,0,0))
  4. 屏幕绘制字体
    1. 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的较小部分。

也就是我们需要绘制的元素,需要绘制的位置输入进去,可以接受矩形区域的位置参数。

这里还演示了获取文本宽高,让文本在屏幕居中滚动的效果。

import pygame
import pprint

def main():
    # 初始化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()
    while True:
        # 文字滚动的频率
        clock.tick(30)
        # 重绘屏幕
        screen.fill((0,0,0))
        # 退出事件
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit(0)
        # 文字从右向左移动
        jx.x -= 5
        # 如果字体全部移动出屏幕,则设置字体X轴位置为510, 500的话会出现的比较突然
        if jx.x < 0 - ztw:
            jx.x = 510
        # 屏幕绘制字体,
        screen.blit(text,[jx.x,jx.y])
        # 更新屏幕显示
        pygame.display.update()

if __name__ == ‘__main__‘:
    main()来自:https://cloud.tencent.com/developer/article/1489726

原文地址:https://www.cnblogs.com/gisoracle/p/12023438.html

时间: 2024-10-11 11:47:36

Python之pygame学习绘制文字制作滚动文字的相关文章

css+jQuery制作的文字循环滚动代码

css+jQuery制作的文字循环滚动代码,尺寸只需要在css中调整即可,另外别忘记在function里面修改相关参数 百度网盘下载

在几何画板中如何制作滚动按钮

在使用几何画板的过程中,很多的用户朋友都遇到过页面中内容较多,无法全部显示等情况,面对这种情况我们可以通过“滚动”按钮控制显示内容在屏幕内滚动.下面我们就来给大家介绍介绍几何画板制作滚动按钮? 在绘图区域中构造一个点并选定该点,执行“编辑”—“操作类按钮”—“滚动”命令,打开“滚动”属性对话框,选择滚动方向后单击“确定”生成一个“滚动”按钮.单击该按钮整个绘图区域中的对象随着点进行滚动.如滚动方向中的“窗口左上方”是指选定的点移动到窗口左上方,而画板的画面随选定的点,也向窗口的左上方平移.按住“

Python和Pygame游戏开发 pdf

Python和Pygame游戏开发 目录 第1章 安装Python和Pygame 11.1 预备知识 11.2 下载和安装Python 11.3 Windows下的安装说明 11.4 Mac OS X上的安装说明 21.5 Ubuntu和Linux上的安装说明 21.6 启动Python 21.7 安装Pygame 31.8 如何阅读本书 41.9 特色的程序 41.10 下载图形文件和声音文件 41.11 行号和空格 41.12 图书中的文本折行 51.13 在线检查代码 51.14 配套网站

怎样给PPT制作镂空文字,掌握该技巧只加薪不加班

平常我们在使用PPT时,都是使用的一些基本的技巧进行操作使用,其实里面还有很多简单的技巧在工作中会经常使用的,熟练使用工作中的每一个软件对提高工作效率,下面为大家分享怎样给PPT制作镂空文字的简单方法,希望你也能快速做出PPT.1.镂空文字的制作需要先找一张图片在PPT中进行打开.2.之后在[插入]选项中选择[形状]选择里面的图形在该图片中绘制一个相同大小的图形.3.将图形框架颜色设置为无色,对图形里面的选择喜欢的颜色进行填充.选中矩形,点击鼠标右键,调出"设置形状格式",对矩形的颜色

Python 应用领域及学习重点

笔者认为不管学习什么编程语言,首先要知道:学完之后在未来能做些什么? 本文将浅谈 Python 的应用领域及其在对应领域的学习重点.也仅是介绍了 Python 应用领域的"冰山一角",有兴趣的读者可以再自行搜索资料进行了解. Python 的应用领域是极其广泛的,几乎所有大中型互联网企业都在使用 Python 完成各种各样的任务.想详细了解,请参见下文,如有不妥之处,敬请留言指正,笔者必会虚心采纳. 一 Python 在世界上的知名应用 以下内容,将列举出 Python 在大家所熟知的

Unity手机开发之巧妙利用纹理制作滚动背景

巧妙利用纹理制作滚动背景 本次学习的主要知识点有以下: 1.如何创建滚动背景. 可以利用材质球,让其不断地偏移纹理,就可以达到这样的效果. 2.time 和deltaTime的区别[狗刨学习网] Time.time是表示游戏从开始到现在的时间,是一个增长值. Time.deltaTime是表示机器上帧与帧之间的时间间隔,是一个固定值. 使用方法是创建一个材质球,贴上我们想要的背景,让Panel附上材质球,调整好摄像机的位置,将脚本挂在我们之前创建的Panel上. using UnityEngin

python源码学习(一)——python的总体架构

python源码学习(一)——python的总体架构 学习环境: 系统:ubuntu 12.04 STLpython版本:2.7既然要学习python的源码,首先我们要在电脑上安装python并且下载python的源码,ubuntu 12.04 STL自带的python版本为2.7.3,这就可以了,接下来下载源码,下载python2.7.7的源代码,下载结束后解压文件,我们会看到如下文件结构:,接下来介绍一下,demo文件夹里放的是一些例子:Doc文件夹里放的是文档,Grammer是语法分析器,

淡入淡出文字垂直滚动

淡入淡出文字垂直滚动,依次向上垂直滚动,渐渐消失,效果很不错,只是代码稍嫌多,用的时候你可以将JS部分另存为一个文件,于你的网页分开,这样不会影响你的网页. <html> <head> <title>石家庄渣浆泵</title> </head> <BODY onLoad="start()" onUnload="stop()"> <Script Language="Javascri

学习Keras:《Keras快速上手基于Python的深度学习实战》PDF代码+mobi

有一定Python和TensorFlow基础的人看应该很容易,各领域的应用,但比较广泛,不深刻,讲硬件的部分可以作为入门人的参考. <Keras快速上手基于Python的深度学习实战>系统地讲解了深度学习的基本知识.建模过程和应用,并以深度学习在推荐系统.图像识别.自然语言处理.文字生成和时间序列中的具体应用为案例,详细介绍了从工具准备.数据获取和处理到针对问题进行建模的整个过程和实践经验. <Keras快速上手>PDF,531页,带书签目录,彩色配图,文字可以复制. 配套源代码和