zoukankan      html  css  js  c++  java
  • 少儿编程:python趣味编程第二课,如何在pygame中写文字

    python趣味编程第二课:本文仅针对8-16岁的青少年,所以流程是按如何去教好中小学生走的,并不适合成人找工作学习,因为进度也是按照青少年走的

    大家好,我是C大叔,上一篇文章已经跟大家介绍了一款开发工具及如何在pygame屏幕中画图片,本节课将继续上节课程,在pygame屏幕中显示文字。


    流程如下:

    1. 代码导入
    2. 加载字体
    3. 写字
    4. 显示文字

    1.代码导入

    同样是复制下面代码到新建的python项目中

    import pygame
    import sys
    pygame.init()
    
    screen = pygame.display.set_mode((1200, 600))
    screen.fill((200, 200, 200))
    pygame.display.set_caption('写文字')
    
    #加载字体
    
    #写字
    
    #显示文字
    
    
    pygame.display.update()
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()

     建一个名为images的文件夹,下载一种字体,复制进文件夹,本文字体名称为 font01.ttf

    2.加载字体

    加载字体使用的方法为pygame.font.Font(a,b),参数为需要加载的字体,参数b为字体大小

    可在导入的代码中“#加载字体”下面写下如下代码:

    font01 = pygame.font.Font("images/font01.ttf",100)

    "images/font01.ttf"为需要加载的字体位置,100是字体的大小

    3.写字

    假如我要写“明天是世界末日”这几个字,需要使用写字的方法:render(a,b,c),一共有三个参数,a表示的是要写的字,b有两个值(要么True,要么False,如果是True字写出来比较光滑,是False的话字写出来边缘会呈现锯齿,像牙齿咬合面一样不平),  c表示的是RGB颜色。

    RGB颜色,R表示的是red(红色),G表示的是green(绿色),B表示的是blue(蓝色),计算机所有的颜色都是由这三种颜色组成。它们的值从0-255不等,数值越大代表这种颜色越亮,例如(255,0,0)就表示红色最大,绿色跟蓝色都没有,显示的自然是红色,同样的,如果是(0,255,0)则代表是绿色。如果是(255,255,0)呢?就是两种颜色组成的颜色了,至于是什么颜色,稍后学会后,大家可以试试。

    假设我们现在要写“明天是世界末日!”这几个字该怎么写呢?

    “#写字”下面写上下面代码:

    surface1 =  font01.render("明天是世界末日!", True, (255,0,0))

    表示的是写“明天是世界末日!”这几个字,并且边缘光滑,颜色为红色。

    但是小伙伴们会发现一个问题,运行后并没有出现这几个字啊,明天不是世界末日就不显示了嘛?当然不是啦,那是因为我们还没让它展现自我。

    4.显示文字

    还是用我们上节课所学内容blit()方法,这里是把文字转换成了图片,如果忘了怎么使用的小伙伴需要再重新复习第一课哦!

    完整代码如下:

    import pygame
    import sys
    pygame.init()
    
    screen = pygame.display.set_mode((1200, 600))
    screen.fill((200, 200, 200))
    pygame.display.set_caption('合金弹头')
    
    #加载字体
    font01 = pygame.font.Font("images/font01.ttf", 100)
    #写字
    surface1 =  font01.render("明天是世界末日!", True, (255,0,0))
    #显示文字
    screen.blit(surface1, (200, 100))
    
    pygame.display.update()
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()

    如果明天是世界末日,你会做些什么呢?关注WX公众号:noip-edu,来跟我聊聊吧!

    我是bigbigli!!! 更多内容请关注微信公众号:“大李日志”
  • 相关阅读:
    Linux 中如何用源代码安装软件,以及如何卸载它
    Linux 中的 Install命令
    PHP 常用header头定义
    如何防止重复提交表单?
    如何从二维数组中的多个key中获取指定key的值?
    jquery的ajax全局事件详解
    PHP+MySQL分页显示示例分析
    javascript中的事件类型
    事件委托/事件代理,
    彻底弄懂JS的事件冒泡和事件捕获
  • 原文地址:https://www.cnblogs.com/bigbigli/p/13283587.html
Copyright © 2011-2022 走看看